Описание: В SQL Server имеется таблица: - Table: Assignment. Данные в таблице SQL Server постоянно обновляются.
Цель: Подключить Excel к SQL Server. Нажав кнопку "Обновить" постоянно получать актуальные данные. На основании данных построить диаграмму, которая будет отображать поступление, расход, остаток по каждой дате.
Предварительное решение: Я подключил Excel к SQL Server. Я получаю таблицу Assignment в Excel.
Вопрос. 1. Как сделать чтобы к таблице Assignment добавилось поле "Остаток" и это поле рассчитывало остаток денежных средств на период? Буду благодарен, если кто-нибудь поможет реализовать решение полностью или хотябы предоставит описание как это сделать.
Недостаток: значения в поле "Balance" зависят от сортировки. Описание. Добавляю столбец - "Копия". Копирую значения из поля - "Cost_EUR". Вставляю значения в поле - "Копия".
Выполняю сортировку по полю - "idAssignment". Результат.
Вопрос. Как сделать решение, которое не будет зависить от сортировки?
Цитата
Андрей VG написал: не проще ли было сделать SQL запрос к той таблице и доверить SQL Server рассчитывать сумму нарастающим итогом?
Т.е. сделать в таблице SQL Server "вычисляемое" поле в котором будет рассчитываться "Balance" (см. картинку вопроса)?
excel_pl написал: Т.е. сделать в таблице SQL Server "вычисляемое" поле
Нет, сделать SQL запрос к базе данных вида
Код
Select idAssignment, idTask, idResource, DateAssignment, Cost_EUR,
Sum(Cost_EUR) Over (Order By idAssignment, idTask) As Balance
From [Имя схемы].[Assignment]
На каком порядке, имена: схемы и таблицы вы не сообщили - поэтому где-то как-то так.
Андрей VG написал: На каком порядке, имена: схемы и таблицы вы не сообщили - поэтому где-то как-то так.
Понял.
Excel файл предполагается подключать к таблицам с SQL Server в составе: - 3-5 шт. таблиц; - в каждой таблице - 20-50 шт. полей; - в каждой таблице 10 000 - 50 000 шт. записей.
Для подключения я предполагаю использовать Даные -> Получить данные -> Из бы данных SQL Server.
Это нормальная практика для таких условий использовать: SQL Server -> Excel -> Excel.Диаграмма или нужно дополнительно использовать Power Query / Pivot?
excel_pl написал: Это нормальная практика для таких условий использовать: SQL Server -> Excel -> Excel.Диаграмма или нужно дополнительно использовать Power Query / Pivot?
Это зависит от того, что вы хотите сделать. Нет универсальных решений. Но подобноее обсуждение - вне рамках вашего текущего вопроса об "Как сделать чтобы к таблице добавилось поле "Остаток" и это поле рассчитывало остаток денежных средств на период?"