Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
jorcan46
Contributor II
Contributor II

Invalid expression

Hola a todos,

Estoy tratando de realizar un resident load de un tabla donde tengo todos los sales.orders . Este modelo incluye tanto presupuestos como pedidos, para lo cual se ha añadido un contador de pedidos (EsPedido) y un contador de presupuestos (EsPresupuesto).

Cada Sale.Order tiene tanto la fecha de presupuesto, como la fecha de confirmacion de pedido. Mi objetivo es sacar la tasa de conversion de presupuesto a pedido (TCL) y para ello trato de crear una tabla de TCL con la siguiente sentencia:

Invalid expression

TCL:

LOAD [%Id Pedido],

If(EsPedido=1, MesNamePedido,MesNombrePresupuesto)  as MesNameTCL,

Sum(EsPresupuesto) + sum(EsPedido)as #Presupuestos,

Sum(EsPedido) as #Pedidos,

ComercialPedido,

Resident Pedidos

El problema es que me dice que es una expresión invalida, pero no tengo más información y he comprobado la sintaxis y yo no detecto el error. ¿Alguna sugerencia para identificar el error? Muchas gracias a todos.

1 Solution

Accepted Solutions
hector_munoz
Specialist
Specialist

Hola Jorge,

Creo que te faltaría el GROUP BY después del Resident. Estás usando una función de agregación (Sum()) y sería necesario. Algo así como:

TCL:

LOAD [%Id Pedido],

If(EsPedido=1, MesNamePedido,MesNombrePresupuesto)  as MesNameTCL,

Sum(EsPresupuesto) + sum(EsPedido)as #Presupuestos,

Sum(EsPedido) as #Pedidos,

ComercialPedido

Resident Pedidos

GROUP BY [%Id Pedido],

                    If(EsPedido=1, MesNamePedido,MesNombrePresupuesto) ,

                    ComercialPedido;

Además creo que tendrías que quitar la coma después de ComercialPedido en el LOAD.

Gracias y un saludo,
Héctor

View solution in original post

7 Replies
jorcan46
Contributor II
Contributor II
Author

El ; al final de la sentencia esta puesto, pero no se copio.

hector_munoz
Specialist
Specialist

Hola Jorge,

Creo que te faltaría el GROUP BY después del Resident. Estás usando una función de agregación (Sum()) y sería necesario. Algo así como:

TCL:

LOAD [%Id Pedido],

If(EsPedido=1, MesNamePedido,MesNombrePresupuesto)  as MesNameTCL,

Sum(EsPresupuesto) + sum(EsPedido)as #Presupuestos,

Sum(EsPedido) as #Pedidos,

ComercialPedido

Resident Pedidos

GROUP BY [%Id Pedido],

                    If(EsPedido=1, MesNamePedido,MesNombrePresupuesto) ,

                    ComercialPedido;

Además creo que tendrías que quitar la coma después de ComercialPedido en el LOAD.

Gracias y un saludo,
Héctor

jorcan46
Contributor II
Contributor II
Author

Gracias, voy a ver y te cuento.

jorcan46
Contributor II
Contributor II
Author

Ha funcionado, no exactamente como pensaba que lo iba a hacer pero consigo el dato agregando luego en la expresión del gráfico. Muchísimas gracias Muñoz Héctor!!!!!!

hector_munoz
Specialist
Specialist

De nada, Jorge, me alegro!

rubenmarin
MVP
MVP

Hola Jorge, si la pregunta está resulta por favor marca las respuestas útiles/correcta para marcarla como solucionada.

Gracias.

jorcan46
Contributor II
Contributor II
Author

Ok. Gracias Ruben.