Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
Live chat with experts, bring your API Integration questions. June 15th, 10 AM ET. REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

suma con 1 variable

Tengo un objeto calendario que depende de una variable (v_end) ,  luego tengo un grafico indicador , sin dimensiones, donde en expresion pongo :
Sum({< [tipo] = {'entradas'}, [fecha movimiento] = {$(=cdate(v_end)-365) } >} Cantidad)
pero no se mueve la aguja, porque?
16 Replies
Miguel_Angel_Baeyens

Hola,

Lo primero que me viene a la cabeza es que el campo "fecha movimiento" tenga un formato de fecha distinto del que devuelve la expresión entre {}. Aparte, CDate no es una función válida en QlikView

Utiliza algo como

Sum({< [tipo] = {'entradas'}, [fecha movimiento] = {'$(=AddYears(Date(v_end), -1))'} >} Cantidad)

de forma que la fecha esté entrecomillada y formateada correctamente.

Para estar seguro de todas formas de lo que el campo "fecha movimiento" recibe en el análisis de conjuntos, crea un objeto de texto y pon lo siguiente:

=AddYears(Date(v_end), -1)

para comprobar si es la fecha que quieres obtener.

Espero que te ayude.

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica

Not applicable
Author

He probado lo del cuadro de texto y da el resultado correcto , pero la formula que me pones sigue sin mover la aguja, talvez el problema sea la [fecha movimiento], aunque este es un campo fecha dd/mm/yyyy hh:mm:ss .

Miguel_Angel_Baeyens

Hola,

En ese caso, el resultado de la fórmula de arriba debe devolver un valor con formato DD/MM/YYYY hh:mm:ss Si este no es el formato determinado para esa variable, puedes igualmente forzarlo en la fórmula del análisis de conjuntos:

Sum({< [tipo] = {'entradas'}, [fecha movimiento] = {"$(=Date(AddYears(Date(v_end), -1), 'DD/MM/YYYY hh:mm:ss')"} >} Cantidad)

Lo ideal sería que la variable ya estuviera formateada.

Para ver si te está devolviendo o no algún valor, pon el ratón sobre el indicador y mantenlo, te debería mostrar el resultado.

Depende de qué tipo de indicador sea, necesitarás indicar un valor máximo y mínimo para que la aguja se mueva, si no, aunque devuelva el resultado correcto, la aguja siempre puede estar al mismo lado.

Al igual que antes, puedes coger toda la expresión de arriba y utilizarla en un cuadro de texto para ver si lo que te devuelve es el resultado que esperas.

Espero que te sirva.

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica

Not applicable
Author

Si en la aguja paso el raton por encima y esta a cero, y si pongo una formula normal que no dependa de la variable si que se mueve la aguja. Ademas he probado un cuadro de texto y escribo esto 
=Date(AddYears(Date(max([fecha movimiento])), -1),'DD/MM/YYYY hh:mm:ss')
y funciona correctamente , esta claro que el problema no está en [fecha movimiento]. El problema puede  estar en la variable.
Miguel_Angel_Baeyens

¿Has probado la expresión completa del Sum() tal como lo tienes en el indicador en un cuadro de texto como sugerí arriba? ¿Qué resultado devuelve? ¿Qué valor almacena la variable?

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica

Not applicable
Author

esto =AddYears(Date(v_end), -1)
me devuelva una fecha que es la correcta
y con esto
=Sum({< [tipo] = {'entradas'}, [fecha movimiento] = {"$(=Date(AddYears(Date(v_end), -1), 'DD/MM/YYYY hh:mm:ss')"} >} cantidad)
se borra el grafico y dice que no hay datos para mostrar
Miguel_Angel_Baeyens

Me refiero a

=Sum({< [tipo] = {'entradas'}, [fecha movimiento] = {"$(=Date(AddYears(Date(v_end), -1), 'DD/MM/YYYY hh:mm:ss')"} >} Cantidad)

En un objeto de texto. ¿Devuelve el resultado esperado?

Quizá sea más fácil si indicas algún dato de ejemplo.

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica

Not applicable
Author

Eso que escribes si lo pongo en un cuadro de texto  no da resultado, sale solo una rayita - .Podria ser por el tipo de grafico 'indicador' que al no tener una dimension como la de fecha , no admite una expresion con variables, o algo asi?

Miguel_Angel_Baeyens

Hola,

No, el indicador, como cualquier otro gráfico, permite cualquier tipo de expresión que retorne un resultado válido y numérico.

Te adjunto ejemplo basado en tu expresión.

Ten en cuenta que en QlikView los nombres de los campos y valores son sensibles a mayúsculas, y por alguna razón, esa expresión no tiene una sintaxis correcta (el campo se llama distinto, el valor tiene mayúsculas, el formato de fecha es distinto, etc).

Echa un vistazo al fichero de todas formas.

Miguel Angel Baeyens

BI Consultant

Comex Grupo Ibérica