Страницы: 1
RSS
Как сделать чтобы к таблице добавилось поле "Остаток" и это поле рассчитывало остаток денежных средств на период?
 
Описание:
В SQL Server имеется таблица:
- Table: Assignment.
Данные в таблице SQL Server постоянно обновляются.

Цель:
Подключить Excel к SQL Server.
Нажав кнопку "Обновить" постоянно получать актуальные данные.
На основании данных построить диаграмму, которая будет отображать поступление, расход, остаток по каждой дате.

Предварительное решение:
Я подключил Excel к SQL Server.
Я получаю таблицу Assignment в Excel.

Вопрос.
1. Как сделать чтобы к таблице Assignment добавилось поле "Остаток" и это поле рассчитывало остаток денежных средств на период?
Буду благодарен, если кто-нибудь поможет реализовать решение полностью или хотябы предоставит описание как это сделать.

Изменено: excel_pl - 07.01.2020 00:25:33
 
=SUM(Таблица4[[#Headers];[Cost_EUR]]:[@[Cost_EUR]]) или
=N(H21)+[@[Cost_EUR]]
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
=SUM(Таблица4[[#Headers];[Cost_EUR]]:[@[Cost_EUR]]) или=N(H21)+[@[Cost_EUR]]
У меня не срабатывает формула.
Что я делаю не так.

Спасибо.

 
excel_pl, попробуйте переустановить Excel. устанавливайте английскую версию
 
Цитата
artyrH написал:
excel_pl , попробуйте переустановить Excel. устанавливайте английскую версию
)))
Хлопотно.
Переделал формулы на русский.

=СУММ(Таблица4[[#Заголовки];[Cost_EUR]];[@[Cost_EUR]]:[@[Cost_EUR]])
Вроде не работает


Код
=Ч(H21)+[@[Cost_EUR]]
Вроде работает.
 
excel_pl, почти два года вы в ваших темах не благодарили. В этой теме пообещали.
и не забыли выполнить :D  
Изменено: artyrH - 07.01.2020 12:13:50
 
Доброе время суток.
Коллеги, а не проще ли было сделать SQL запрос к той таблице и доверить SQL Server рассчитывать сумму нарастающим итогом?
 
Цитата
artyrH написал:
excel_pl , почти два года вы в ваших темах не благодарили. В этой теме пообещали.не забудьте выполнить  
Учту.

Вариант-1. Не работает.
Код
 =СУММ(Таблица4[[#Заголовки];[Cost_EUR]];[@[Cost_EUR]]:[@[Cost_EUR]]) 

Вариант-2. Работает.
Код
=Ч(H21)+[@[Cost_EUR]]
Недостаток: значения  в поле "Balance" зависят от сортировки.
Описание.
Добавляю столбец - "Копия".
Копирую значения из поля - "Cost_EUR".
Вставляю значения в поле -  "Копия".


Выполняю сортировку по полю - "idAssignment".
Результат.



Вопрос.
Как сделать решение, которое не будет зависить от сортировки?


Цитата
Андрей VG написал:
не проще ли было сделать SQL запрос к той таблице и доверить SQL Server рассчитывать сумму нарастающим итогом?
Т.е. сделать в таблице SQL Server "вычисляемое" поле в котором будет рассчитываться "Balance" (см. картинку вопроса)?
 
=SUMIF([DateAssignment];"<="&[@DateAssignment];[Cost_EUR])
По вопросам из тем форума, личку не читаю.
 
Цитата
excel_pl написал:
Т.е. сделать в таблице 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 - 07.01.2020 14:17:19
 
Цитата
Андрей VG написал:
На каком порядке, имена: схемы и таблицы вы не сообщили - поэтому где-то как-то так.




Понял.

Excel файл предполагается подключать к таблицам с SQL Server  в составе:
  - 3-5 шт. таблиц;
  - в каждой таблице - 20-50 шт. полей;
  - в каждой таблице 10 000 - 50 000 шт. записей.

Для подключения я предполагаю использовать Даные -> Получить данные -> Из бы данных SQL Server.

Это нормальная практика для таких условий использовать: SQL Server -> Excel -> Excel.Диаграмма  или нужно дополнительно использовать Power Query / Pivot?
Изменено: excel_pl - 07.01.2020 14:26:38
 
Цитата
excel_pl написал:
Это нормальная практика для таких условий использовать: SQL Server -> Excel -> Excel.Диаграмма  или нужно дополнительно использовать Power Query / Pivot?
Это зависит от того, что вы хотите сделать. Нет универсальных решений. Но подобноее обсуждение - вне рамках вашего текущего вопроса об "Как сделать чтобы к таблице добавилось поле "Остаток" и это поле рассчитывало остаток денежных средств на период?"
Страницы: 1
Наверх