Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
davidserey
Contributor II
Contributor II

Obtener la Dimensión con mayor valor

Hola Comunidad!

Mi pregunta es la siguiente, tengo un gráfico de torta, y en el titulo me gustaría mencionar el segmento con mayor valor, según la dimensión establecida.

Muchas gracias!

1 Solution

Accepted Solutions
hector_munoz
Specialist
Specialist

Hola David,

Con el ejemplo que me has pasado prueba con la siguiente expresión en el título:

    ='Sector con más Metros: ' & FirstSortedValue(Sector, -Aggr(Sum(Metros), Sector))

, a ver si con esto resuelves tu problema. Te adjunto el ejemplo que he hecho para probar.

Espero que te sirva!

Saludos,

H

View solution in original post

6 Replies
hector_munoz
Specialist
Specialist

Hola David,

Échale un vistazo a la función FirstSortedvalue(). Con ella, y con una expresión, puedes sacar el valor de la dimensión que primero aparecería al calcularse.

Espero que te sirva!

Saludos,

H

davidserey
Contributor II
Contributor II
Author

Hola Hector,

Creo que no formulé bien la pregunta, me explico

tengo estos valores en una tabla

Sector |  metros

A         | 35

A         | 10

B         | 30

C         | 40


Si en un grafico tengo la dimensión Sector y como expresión tengo SUM(metros), necesito obtener que A es el sector con mayor valor ya que suma 45.

Esto debe ser de forma dinamica segun los filtros, por eso no me sirve hacerlo en el Script.


Quedo atento.

Muchas gracias



hector_munoz
Specialist
Specialist

Hola David,

Con el ejemplo que me has pasado prueba con la siguiente expresión en el título:

    ='Sector con más Metros: ' & FirstSortedValue(Sector, -Aggr(Sum(Metros), Sector))

, a ver si con esto resuelves tu problema. Te adjunto el ejemplo que he hecho para probar.

Espero que te sirva!

Saludos,

H

davidserey
Contributor II
Contributor II
Author

Funciona perfecto,

Aunque aun no comprendo la lógica de como está resolviendo. Seguiré analizándola para poder aplicarla en futuras ocaciones.

Muchas gracias por tu ayuda Hector.

Saludos

hector_munoz
Specialist
Specialist

Hola David,

La función FirstSortedValue() en tu caso tiene 2 parámetros:

  • Campo del que quieres sacar el primer valor
  • Campo que te sirve para ordenar. Aquí está la parte más compleja: es un campo, no una expresión con una agregación por lo que no podrías poner algo tan sencillo como un Sum(Metros) y en su lugar tienes que recurrir a una "argucia" usando la función Aggr() que agrupa pero por dentro y QlikView no lo considera como una agregación y sí como un campo; no sé si me explico... Además, y como FirstSortedValue() ordena ascendentemente, le ponemos signo negativo para que los valores que antes eran los mayores ahora sean los menores (ascendentes).

No sé si te ayuda o te deja peor...

Saludos,

H

davidserey
Contributor II
Contributor II
Author

jajaj si Hector, por lo que me explicas es mas menos lo que deducía, ahora me queda mas claro.

Muchas gracias por tu valiosa ayuda

Que tengas buen día (o noche)

Saludos

DS