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

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

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

Разрешить использование выражений ссылок на ячейки

Результат синхронизации будет выглядеть примерно так, как показано на рисунке:

Результат трех типов формул

Связанный контент