Включить формулу 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
вызовет ошибку, так как вам нужно явно указать, что значение может содержать выражение столбца. По этой причине перейдите на вкладку "Поля" блока и установите флажки в столбцах "Формула" и "Заменить выражения столбца":
Результат синхронизации будет показан на рисунке: