
Al ejecutar Invantive Control para Excel, quiero llenar un bloque con datos de Exact Online. Sin embargo, una de las columnas debe ser la multiplicación de la tasa que figura en una hoja de cálculo de Excel de configuración por la cantidad en otra columna.
Cuando ambos valores están disponibles en SQL, puedo simplemente hacer una multiplicación. De manera similar, a mano puedo (después de la sincronización) agregar una columna a la derecha del bloque con la fórmula de Excel.
Pero parece que no puedo incluir automáticamente una fórmula de Excel en las celdas del bloque.
¿Cómo debería hacer esto?
Respuesta1
En la consulta asociada a un bloque de Control Invantivo se pueden incluir fórmulas en tres 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
La columna formula1
tiene una fórmula estática de Excel que se evalúa como 6. La fórmula de Excel debe seguir la sintaxis de la fórmula de Excel enInglés, así que úsalo sum()
en lugar de som()
.
La columna formula2
utiliza un valor tomado de una expresión de Excel fuera del bloque, en este caso de la celda B4.
La columna formula3
utiliza el tipo de fórmula más avanzado con el llamadoExpresiones de referencia de celda. Las expresiones de referencia de celda de uso común están disponibles en el menú del bloque de construcción como se muestra en la imagen (holandés):
Sin embargo, cuando sincroniza el modelo de esta manera, formula3
generará un error ya que debe dejar explícito que un valor puede contener una expresión de columna. Por este motivo, vaya a la pestaña 'Campos' del bloque y marque las casillas de verificación en la columna 'Fórmula' y 'Reemplazar expresiones de columna':
El resultado de la sincronización será algo que se muestra en la imagen: