Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
rodri_morales
Creator II
Creator II

Expresion como Dimension

Buen día a todos, tengo una consulta para saber si es posible hacer lo que necesito o no.

Tengo un gráfico donde tiene una dimensión y dos expresiones. Quería saber si es posible hacer que la expresión sea una dimensión también (sin hacer el cálculo por script).

Este es el gráfico:

Necesitaría que Dim1 y Dim2 pasen a ser dimensiones, y que se compare, para Dim1 los años CY14 y CY15 (es decir, las barras representen CY14 y CY15).

Intente poner las expresiones como dimensiones calculadas, y la dimensión como una expresón, pero no funciona.

Si alguien sabe como puedo hacer, agradezco la ayuda.

Saludos!

19 Replies
alex_millan
Creator III
Creator III

Si el número de valores a comparar es fijo, la solución pasaría por hacer la cláusula SET variable, ponerla en función del año actual, o de la selección actual en el documento.

O quieres decir que el número de valores a comparar es variable, por ejemplo, que cuando exista CY16 compare CY14, CY15 y CY16? Y cuando exista CY17 compare 4 valores? Y así incrementalmente sin límite?

Si el número de valores es finito, quizás podrías crear las expresiones utilizando cláusulas dinámicas SET y luego condicionar las expresiones para que se calculen sólo cuando existan en la tabla de datos.

Es una idea.

rodri_morales
Creator II
Creator II
Author

Los valores son fijos, se va a comparar el año actual y el anterior.

Cree dos expresiones, en una en el set análisis agregue una variable que toma el año actual, en la otra puse una variable que me toma el año anterior.

El problema es como hago para que me figure el nombre de esas expresiones sobre el eje X, donde iría la dimensión.

alex_millan
Creator III
Creator III

Rodrigo,

te adjunto ejemplo con las expresiones con su cálculo condicionado (en el ejemplo con sentencias SET fijas, no dinámicas) por si efectivamente tienes un número máximo de valores a comparar fijo.

Un saludo

alex_millan
Creator III
Creator III

En la etiqueta de la expresión pon: =$(TuVariable) o en caso que sea texto ='$(TuVariable)'

rodri_morales
Creator II
Creator II
Author

Muchas gracias Alex, entendí perfectamente lo que me decías.

El problema va mas allá. No tengo una dimensión para utilizar como vos usaste "COMERCIAL" en el ejemplo que me pasaste. Tampoco es una sola dimension.

Tengo 4 expresiones en ese gráfico, todas comparadas por año. Tengo que trasladar esas 4 expresiones a la dimensión y deberia crear 8 expresiones (2 por cada expresion que ya tenia, una que obtenga el año actual y otra que obtenga el año anterior).

Esto es lo que no se como hacer.

rodri_morales
Creator II
Creator II
Author

Intenté hacer un gráfico para ver si se entiende mejor.

graph 4.png

Donde Exp1, Exp2, Exp3, Exp4 son expresiones que tengo actualmente y que representan distintos cálculos.

alex_millan
Creator III
Creator III

Me alegro que el ejemplo te haya sido útil para entender lo que te comentaba.

Lo que explicas suena bastante lioso, la verdad

Si necesitas la comparación año actual y año anterior para cada uno de los valores calculados en esas 4 expresiones que dices, deberías poner esas 4 expresiones mediante una dimensión calculada.

De todas maneras, si tienes una imagen de lo que quieres o puedes pasar un fichero de ejemplo sería muy aclaratorio porque se hace complicado de entender el caso.

Si lo mandas, aquí estamos a tu disposición

alex_millan
Creator III
Creator III

Pues se me ocurre que podrías probar con una dimensión calculada utilizando Valuelist() y allí explicitar tus expresiones como los diferentes valores.

Por ejemplo:

=ValueList(Expresión1, Expresión2, Expresión3, Expresión4)

Prueba y nos comentas

rodri_morales
Creator II
Creator II
Author

Me doy por vencido.

Entendí el concepto de ValueList(), lo apliqué tal cual debería ser, pero me trae los valores correctos unicamente para la primer dimensión y no para el resto.

Tengo que aclarar que los calculos son complejos y no se si eso está afectando. Pero no logro conseguir los valores correctos, salvo para la primer dimensión.

Gracias igualmente por su ayuda!

alex_millan
Creator III
Creator III

Como tú veas, de todas maneras, te aconsejaría que si realmente lo necesitas, intentes reproducir la idea de manera sencilla y ves aumentando la complejidad hasta llegar hasta el punto que requieres.

Como mínimo seguro que te has llevado alguna idea útil, si no te sirve en esta, seguro que lo puedes aplicar en otros casos.

Saludos