Incluir fórmula do Excel em bloco gerado a partir de SQL

Incluir fórmula do Excel em bloco gerado a partir de SQL

Executando o Invantive Control for Excel, desejo preencher um bloco com dados do Exact Online. Porém, uma das colunas deve ser a multiplicação da taxa listada em uma planilha de configurações do Excel pelo valor em outra coluna.

Quando ambos os valores estão disponíveis no SQL, posso simplesmente fazer uma multiplicação. Da mesma forma, manualmente posso (após a sincronização) adicionar uma coluna à direita do bloco com a fórmula do Excel.

Mas pareço incapaz de incluir automaticamente uma fórmula do Excel nas células do bloco.

Como devo fazer isso?

Responder1

Na consulta associada a um bloco Invantive Control é possível incluir fórmulas em três variantes:

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

A coluna formula1tem uma fórmula estática do Excel avaliada como 6. A fórmula do Excel deve seguir a sintaxe da fórmula do Excel emInglês, então use sum()em vez de som().

A coluna formula2utiliza um valor retirado de uma expressão Excel fora do bloco, neste caso da célula B4.

A coluna formula3usa o tipo mais avançado de fórmula com os chamadosExpressões de referência de célula. Expressões de referência de célula comumente usadas estão disponíveis no menu do bloco de construção, conforme mostrado na imagem (holandês):

Expressões de referência de células comuns predefinidas

Porém, ao sincronizar o modelo dessa forma, formula3ocorrerá um erro, pois é necessário deixar explícito que um valor pode conter uma expressão de coluna. Por esse motivo, acesse a aba ‘Campos’ do bloco e marque as caixas de seleção nas colunas ‘Fórmula’ e ‘Substituir Expressões de Coluna’:

Habilitar o uso de expressões de referência de célula

O resultado da sincronização será algo mostrado na imagem:

Resultado de três tipos de fórmula

informação relacionada