1

У меня есть файл Excel, где я обновляю значения, поступающие из хранимой процедуры SQL (столбцы A, B, C).

В столбце D и конкретно в ячейке D2 я добавил формулу даты, как показано на рисунке.

Всякий раз, когда я обновляю значения, формула отображается только в первой и последней строке, а остальные ячейки остаются пустыми. В чем проблема, так как она должна автоматически прокручиваться?

3 ответа3

1

Есть два решения:

1- Функция Datediff в SQL Server позволяет сравнивать разницу во времени между двумя датами, чтобы получить желаемый результат

Пример:

SELECT Number, [Date], [Total], datediff(day,'1899-12-30',[Date]) as Column1
FROM ....
WHERE ....

2- После локальной настройки теста с тем же набором данных из демонстрационной хранимой процедуры. Я решил, что ваше решение - убедиться, что вы сохранили столбец сортировки / макета фильтра, проверенный в свойствах вашего источника данных, затем очистите ячейки и снова введите формулу. В следующий раз, когда процедура обновится новыми данными, она должна сохранить существующую формулу. После тестирования это сделало по крайней мере для меня.

Вот воспроизведение ошибки: Образец теста

И вот решение: Решение

0

Если у вас возникла проблема с хранимой процедурой в SQL Server, я рекомендую всем посмотреть видео-учебник по хранимой процедуре SQL Server с различными способами использования хранимой процедуры.

0

Надстройка Power Query - это более современный, мощный и гибкий способ интеграции данных из SQL в Excel.

https://support.office.com/en-us/article/Import-Data-from-Database-using-Native-Database-Query-Power-Query-f4f448ac-70d5-445b-a6ba-302db47a1b00?ui=en- США и Rs = EN-US и объявления = US

Вы можете использовать Добавить пользовательский столбец для выполнения аналогичных расчетов данных, например,

= Date.From ( [Date] ) - Date.FromText ( "1899-12-30" )

Результат Power Query может быть доставлен в таблицу Excel.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .