Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
tengo un problema con un reporte, tengouna tabla pivoteante, pero con 3 dimensiones o niveles.
ejemplo
GRUPO
GRUPO | CORPORATIVO | TOTALVENTA |
---|---|---|
GRUPO A | CORPORATIVO 1 | 100 |
CORPORATIVO 2 | 200 | |
GRUPO B | CORPORATIVO3 | 500 |
CORPORATIVO 1 | 200 | |
En este caso las filas están indetadas, asi es que abro el primer nivel y y el total de venta no me lo ordena como yo quiero que es de forma descendente. como le puedo hacer o que expresión puedo usar para que me ordene de acuerdo a su nivel, ya utilice el Aggr(sum(totalventa), corporativo)
y el rank pero me siguehaciendo lo mismo.
No te rindas,
Si son 3 niveles entonces el calculo cambia y debes asignar en valor dual a cada nivel
Crees que puedas enviarme una hoja de Excel con datos o el QVF para yo intentarlo?
Luis
donde te podré mandar el excel?
Hola Maria, la opción que dice Luis debería funcionar, Qlikview ordena valores de campo, por lo que si asigna a CORPORATIVO1 el orden 1, va a ser el orden 1 en todos los grupos, para evitar esto se asigna un identificador único a cada combinación para permitir a Qlik asignar el orden por separado a cada combinación.
Yo prefiero usar RowNO(TOTAL) para evitar que si 2 combinaciones tienen el mismo total se puede crear una discrepancia al calcular las medidas, de esta forma a cada combinación le asigna un "código" distinto:
2ª dimension: AGGR(DUAL(Nombre2aDimension,RowNo(TOTAL)),Nombre1aDimension,Nombre2aDimension)
3ª dimension: AGGR(DUAL(Nombre3aDimension,RowNo(TOTAL)),Nombre1aDimension,Nombre2aDimension,Nombre3aDimension)
Al hacerlo así el orden numérico no sería el orden por ventas por lo que hay que ordenar por expresión, a partir de la 2ª dimension el orden sería con la expresión:
SUM(TOTALVENTA)
A la dirección hotmail en mi perfil. Avísame si no la puedes ver. Saludos. Luis
Hola Maria,
Nunca recibi tu email con la data, lo enviaste?
Por fa avisame,
Saludos,
Luis
pero esto no es por el mismo total, tiene que ver algo con la suma total en todos los niveles, de hecho el rowno no se como lo pudiera ayudar, digo por que al parecer necesito tener un ordinal para esto en la carga y no estoy manejando el orden al cargar los datos.
hola luis, te lo acabo de enviar. saludos
Listo,
El metodo Dual no funciono como dijiste! El segundo nivel se repetia en ambos grupos lo que hacia que arrojara cosas extranas...
Al final lo logre hacer con AGGR y sin AGGR pero con la condicion que el segundo nivel (Corporativo) tuviera parte del primero nivel (Grupo) or algo que lo hiciera unico como un ID... De verdad es extrano!
Te envio el qvf por email para que lo revises.
Para los clientes que tienen el mismo nivel de PAX, no pude ordenarlos alfabeticamente... algo que al parecer el posible con las ultimas actualizaciones de la function AGGR... posiblemente cree un post en la comunidad para seguir entendiendo esto
Saludos,
Luis
PS
Me gustaria enviarles el qvf a ustedes tambien si estan de animo. Quisiera tener sus opiniones y terminar de entender lo que esta pasando. Creo que deberian poder ver mi direccion de correo en mi perfil
Saludos,
Luis
Hola Maria, ¿has llegado a probarlo? el rowno() es solo para asignar un código distinto a cada combinación, el orden lo tiene que hacer por la expresión Sum(TOTALVENTA)
Ok, recien creo que comienzo a entender lo que Ruben dice sobre usar RowNo(TOTAL) para hacer que la dimension sea unica.
En cada Dimension, he usado lo siguiente y parece dar el resultado correcto:
Nivel 1 Grupo
=AGGR(DUAL(Grupo,RowNo(TOTAL)),Grupo)
o tambien
=DUAL(Grupo,AGGR(RowNo(TOTAL),Grupo))
Nivel 2 Corporativo
=AGGR(DUAL(Corporativo,RowNo(TOTAL)),Grupo,Corporativo)
o tambien
=DUAL(Corporativo,AGGR(RowNo(TOTAL)),Grupo,Corporativo)
Nivel 3 Cliente
=AGGR(DUAL(Cliente,RowNo(TOTAL)),Grupo,Corporativo,Cliente)
o tambien
=DUAL(Cliente,AGGR(RowNo(TOTAL)),Grupo,Corporativo,Cliente)
y luego ordenar cada una por expresion Sum(Measure)
Otra cosita: Al parecer cuando se ordena "por expresion" y tambien se ordena Alfabeticamente, Alfabeticamente toma la segunda prioridad y ordena alfabeticamente las dimensiones que tengan el mismo valor!!!
Este ha sido un excelente aprendizaje para mi, gracias!
Por favor Maria dejanos saber como te esta yendo,
Saludos desde Australia
Luis