Включить формулу Excel в блок, сгенерированный из SQL

Запустив Invantive Control for Excel, я хочу заполнить блок данными из Exact Online. Однако один из столбцов должен умножать ставку, указанную на листе настроек Excel, на сумму в другом столбце.

Когда оба значения доступны в SQL, я могу просто сделать умножение. Точно так же вручную я могу (после синхронизации) добавить столбец справа от блока с Excel формулой.

Но я не могу автоматически включить формулу Excel в ячейки блока.

Как мне это сделать?

1 ответ

Решение

В запрос, связанный с блоком Invantive Control, вы можете включить формулы в трех вариантах:

select pjt.code
,      pjt.description
,      pjt.budgetedamount
,      '=2*3' formula1
,      '=b4*2' formula2
,      '=$C{D,.,.,.-1,.}*2' formula3
from   exactonlinerest..projects pjt
order
by     pjt.code

Колонка formula1 имеет статическую формулу Excel, которая оценивается в 6. Формула Excel должна соответствовать синтаксису формулы Excel на английском языке, поэтому используйте sum() вместо som(),

Колонка formula2 использует значение, взятое из выражения Excel вне блока, в данном случае из ячейки B4.

Колонка formula3 использует самый продвинутый тип формулы с так называемыми выражениями ячеек. Обычно используемые выражения ссылок на ячейки доступны в меню стандартных блоков, как показано на рисунке (голландский):

Тем не менее, когда вы синхронизируете модель, как это, formula3 вызовет ошибку, так как вам нужно явно указать, что значение может содержать выражение столбца. По этой причине перейдите на вкладку "Поля" блока и установите флажки в столбцах "Формула" и "Заменить выражения столбца":

Результат синхронизации будет показан на рисунке:

Другие вопросы по тегам