Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Dimensión calculada

Buenas,

     Lo de definir dimensiones calculadas es algo que no he tenido que usar casi, en lo  que llevo usando qlikview. Pero ahora me vendria muy bien el poder definir una expresión como una dimensión, algo del tipo

     =count({<fecha>}distinct IDContador)

En este caso me da que la expresión es correcta, pero a la hora de pintarlo en una tabla o en una gráfica me da un error de dimensión.

¿No es posible calcular la dimensión de esa forma?

Un saludo

1 Solution

Accepted Solutions
rubenmarin

Hola Jonay, puedes crearla usando Aggr para que te calcule el valor según la segmentación de las dimensiones anteriores, por ejemplo si fuesen trimestre y año sería algo así:

=Aggr(Count({<fecha>} Distinct IDContador), Trimestre, Año) // lo de quitar la fecha lo he puesto solo por ponerlo tal como tenías el primer ejemplo.

Saludos.

View solution in original post

8 Replies
jvitantonio
Luminary Alumni
Luminary Alumni

Hola Jonay,

Una dimension es eso mismo, una dimension. Sin embargo, lo que tu muestras es una expresion. Las expresiones pueden contener campos o dimensiones dentro del set analysis. Estos campos tiene que salir directamente de tu tabla y no pueden ser creados en el set analysis (por ejemplo:  count({< Campo1&Campo2 = {1} >} DISTINCT iD).

Hay formas de conseguir el resultado que buscas, pero no esta muy claro en tu post. Que es exatamente lo que quieres ver? "fecha" por si solo en tu Set Analysis no hara nada. Tienes que especificar que quieres qeu pase con el campo "fecha". Por ejemplo:

= count({< fecha = {"$(=today())"} >} Id)

Esta expresion cuenta el campo "Id" donde la fecha sea igual al dia de hoy.

Saludos

Juan

Anonymous
Not applicable
Author

Buenas,

     Voy a intentar explicarme mejor sobre lo que necesito. Yo necesito hacer un cálculo y utilizarlo de dimensión. Un ejemplo inventado:

         - Número de coches que se han vendido en diferentes trimestres

               Trimeste1 Año1   1050

               Trimestre2 año1   2000

               trimestre3 año1   1450

               trimestre4 año1   2100

               trimestre5 año2   1100

               

  Necesito poner ese valor que calculo como dimensión, y enfrentarlo a otros cálculos. Actualmente lo tengo calculado en una tabla dentro del script con una consulta mysql y mediante un group by , pero el problema de hacerlo así es que lo tengo como valores fijos, y si por ejemplo quiero filtrar por color,marca,modelo, etc...esa cifra no varia.

     Espero que por lo menos entiendas mi problema...independientemente de que puedas ayudarme o no

     Muchas gracias

Un saludo

jvitantonio
Luminary Alumni
Luminary Alumni

Ese numero que tienes (coches vendidos) es una expresion. Tu trimestre es la dimension.

Agrega Trimeste en dimension y en la expresion escribe: count(distinct IdContador). Si tu modelo es correcto, los valores se actualizaran dependiendo de los filtros que elijas.

Si esto aun no resuelve tu problema, por favor adjunta tu archivo .qvw.

Saludos

Juan

Anonymous
Not applicable
Author

Buenas,

    Es que mi problema es que lo que quiero representar en mi gráfica no es trimestre frente a número de ventas en el trimestre. Lo que yo necesito representar es "número de ventas" enfrentado a valor de esas "ventas". De ahi viene que yo considere que el "número de ventas" sea una dimensión enfrentado a la expresión sum(ventas).

     Creo que entenderás ahora mi problema...otra cosa es que mi pensamiento sea erróneo o sea demasiado complicado hacer lo que necesito

Gracias por la ayuda

Un saludo

jvitantonio
Luminary Alumni
Luminary Alumni

Eso serian dos expresiones.

Expresion1 (Numero Ventas)

Count(Distinct VentaId)

Expresion 2 (Valor venta):

=sum(ValorVenta)

Saludos

Juan

Anonymous
Not applicable
Author

Buenas Juan,

     Es que no me sirve poner en el eje x trimestre   como dimensión y luego 2 expresiones. Normalmente eso seria lo que haria en cualquier gráfico. Pero lo que estoy intentando hacer es aplicar el método de regresión lineal y para que este tenga sentido lo que tengo que enfrentar en el eje x (número de ventas), frente a eje y (valor de las ventas).

     Por eso necesitaria calcular el número de ventas como dimensión, para que los cálculos en si tengan sentido. En un excel se puede aplicar este método sin problemas,enfrentando un cálculo como el que necesito a otro.

   Yo he visto el ejemplo de regresion lineal de la página de qlikview         

           https://help.qlik.com/es-ES/qlikview/12.0/Subsystems/Client/Content/ChartFunctions/StatisticalAggreg...

  

     Pero en este caso enfrenta valores de 'x' discretos que se incremntan de uno en uno, y lo que yo necesito es que esos valores sean calculados.

     No encuentro la forma de resolver mi problema

Un saludo

rubenmarin

Hola Jonay, puedes crearla usando Aggr para que te calcule el valor según la segmentación de las dimensiones anteriores, por ejemplo si fuesen trimestre y año sería algo así:

=Aggr(Count({<fecha>} Distinct IDContador), Trimestre, Año) // lo de quitar la fecha lo he puesto solo por ponerlo tal como tenías el primer ejemplo.

Saludos.

Anonymous
Not applicable
Author

Muchas gracias, eso era lo que andaba buscando....aunque todavía mi problema con la regresión lineal, no esta resuelto...pero esta duda esta resuelta

Un saludo