Gráficos Combinados con Dimensión Mixta

He tenido la oportunidad de encontrar clientes que desean replicar con QlikView gráficos que están siendo preparados con otras herramientas como Excel o hasta en Power Point o alguna otra herramienta muy flexible para “dibujar” gráficos y charts.

Desde luego estas herramientas no tienen la potencia de análisis de datos (Data Discoverer) que tiene QlikView y aparentemente Qlikview parece imponer fuertes limitaciones a los tipos de gráficos que podemos hacer y lo que podemos mostrar.

Por ejemplo: ¿ Podemos mostrar en un mismo gráfico la producción acumulada del año, la esperada (presupuesto) y la producción mes a mes para dicho año? La respuesta es SI (usando algunos trucos y tips) y aqui va el ejemplo:

Este es un gráfico de tipo Combinado (solapa General de las propiedades del objeto gráfico) que mezcla barras y líneas. Hasta aquí nada particular. Pero si observamos el eje de dimensión (eje X) veremos que por un lado tenemos fechas hacia la derecha y “otras cosas” sobre la izquierda.

En particular el cliente quería ver la producción Presupuestada de Fuel Oil para el YTD (Budget Year To Date – inicio del año a la fecha) como una barra, la producción Acumulada para el mismo periodo, como otra barra, y la producción mes a mes como una línea.

Veamos en este ejemplo como podemos lograr esta dimensión “combinada” con QlikView:

1- El secreto está en los Datos:

Supongamos que tenemos una tabla desde donde importamos los datos con el siguiente formato:

Periodo               Toneladas

05/2011                  1420

06/2011                  1135

…………..                  ……

Desde luego la columna Periodo la usaremos para armar la parte derecha del eje.

Para armar la parte Izquierda del eje debemos “inyectar” en la dimensión valores que no corresponden a ninguna fecha real y sean menores que la menor fecha posible (para que aparezcan a la izquierda) y asociarles sus montos acumulados en toneladas, es decir calcular y agregar los YTD (Real y Presupuesto) para cada año. Para el caso vamos a asumir que mes -1 se va a usar para “Presupuesto YTD” y mes 0 (cero) se va a usar para “Acumulado YTD”:

Periodo               Toneladas

   -1/2011                  15979  ——-> corresponde a “Presupuesto YTD”

   00/2011                  9321 ——–> corresponde a “Acumulado YTD”

  …………..                    ……

Desde luego esto deberemos hacerlo en el script de carga (o mejor de transformación respetando la arquitectura de la solución) totalizando (p.ej) para cada año.

2- Preparar el gráfico. Crear la dimensión:

Una vez cocinados los datos creamos un nuevo gráfico de tipo “Combinado” y añadimos una dimensión calculada con la siguiente expresión:

=if(left(Periodo,2)='00',dual('Acumulado YTD',Periodo),
	if(left(Periodo,2)='-1',dual('Presup. YTD',Periodo),
			Periodo
	)
)

Es  decir:  si el mes es “00” devuelve internamente el valor 00 y se muestra como “Acumulado YTD” (función dual), si el mes es “-1″ devuelve un dual -1,”Presup.YTD”, caso contrario (meses del 1 al 12) devuelve el mismo periodo.

Debido a la ordenación numérica ascendente por defecto los valores de la dimensión quedarán en el siguiente orden:

-12011; 002011; 012011; 022011; 032011 ……..  122011

y gracias al dual se verá:

Presup.YTD; Acumulado YTD; 012011; 022011  ……… 122011

3- Crear las expresiones:

En particular en este gráfico use 3 expresiones

y para sincronizar las expresiones con los datos y con la dimensión dichas expresiones se definen como:

Acumulado YTD:            =sum(if( left(Periodo,2)=’00’,Toneladas))

REAL:                                   =sum(if(month(Periodo)>0 , Real))

PRESUPUESTO YTD:      =sum(if( left(Periodo,2)=’-1′,Toneladas))

Finalmente indicamos que Presupuesto YTD y Acumulado YTD son barras y Real es de tipo Línea Suavizada hacemos los últimos retoques y listo !

Espero les sirva !

Acerca de pparnisari
Casi 44 vueltas al sol. Licenciado en sistemas. Curioso, investigador, excelente para resolver problemas prácticos. Casado, 2 hijos, cada vez con mas preguntas y respuestas mas en duda. Almost 44 laps to the sun. System engineer. Curious, researcher, great for solving practical problems. Married, 2 children, each time with more questions and more answers in doubt.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: