26 de diciembre de 2013

Máximo y Mínimo en Gráfico de Linea

Para obtener el gráfico:

Se carga datos de ejemplo:
LOAD * INLINE [
    Ventas, Periodo
    66, 01/01/2013
    80, 01/02/2013
    77, 01/03/2013
    25, 01/04/2013
    86, 01/05/2013
    82, 01/06/2013
    77, 01/07/2013
    32, 01/08/2013
    51, 01/09/2013
    95, 01/10/2013
    27, 01/11/2013
    56, 01/12/2013]
;

Se crea un gráfico de linea con las siguientes dimensiones y expresiones:

Dimensión: Periodo
Expresión Linea: Sum(Venta)
Expresión Máximo:
-(sum(Ventas)=max(TOTAL Aggr(sum(Ventas),Periodo)))*sum(Ventas)
Expresión Mínimo:
-(sum(Ventas)=min(TOTAL Aggr(sum(Ventas),Periodo)))*sum(Ventas)

En las expresiones de Máximo y Mínimo se elige Simbolo=Circulo en las "Opciones de Presentación" de cada expresión.



El qvw de ejemplo puede descargarse aquí

5 comentarios:

Unknown dijo...

Hola Enmanuel,
soy nuevo en QV, y tu blog mes esta ayudando bastante en aprender; por favor puedes explicar que es lo que hace cada función de la expresión.

Gracias.

Enmanuel Santana dijo...

Hola Christian
En resumen la expresión Max compara cada venta-periodo con la mayor venta-periodo,obteniendo un 1 si es el periodo con mayor venta, ó 0 si no lo es.
Luego multiplica 1*Venta si es la mayor venta, y 0*Venta=0 para el resto de periodos.

Para la expresión Min, funciona igual.

Dejo una imagen con mas detalle de la expresión:
https://dl.dropboxusercontent.com/u/59930995/MaxMin.jpg

Para referencia de funcion Aggr, fijate aqui:http://www.learnallbi.com/aggr-function-in-qlikview/

Unknown dijo...

Gracias por la imagen explicativa, consulta, deseo mostrar valor de periodo que corresponde al minimo en un objeto de texto independiente al grafico?

Enmanuel Santana dijo...

Hola Roberto
Usando este mismo set de datos, esta expresion trae el periodo de mayor venta:
=Only({1} If( Aggr(Rank(sum( Ventas),4, 3),Periodo) = 1,Periodo))

Fijate en este nota:
http://qlikviewapuntes.blogspot.com.ar/2014/01/indicador-de-maximo-en-objeto-texto.html

Unknown dijo...

Hola Enmanuel,

Me puedes explicar por favor la funcion Rank.

Atte. Miguel

Saludos desde Perú.