Trabajar con tablas cruzadas

Una tabla cruzada es un tipo muy habitual de tabla, que ofrece una matriz de valores entre dos listas ortogonales de datos de cabecera. El aspecto podría ser el de la tabla a continuación.

Ejemplo 1:  

Year Jan Feb Mar Apr May Jun
2008 45 65 78 12 78 22
2009 11 23 22 22 45 85
2010 65 56 22 79 12 56
2011 45 24 32 78 55 15
2012 45 56 35 78 68 82

Si esta tabla se carga simplemente en QlikView, el resultado será un campo para Year y otro campo para cada uno de los meses. Por regla general, éste no es el resultado que interesa. Probablemente sea preferible generar tres campos, uno para cada categoría de cabecera (Year y Month) y otro para los valores dentro de la matriz.

Esto se consigue añadiendo un prefijo crosstable a la sentencia LOAD o SELECT.

crosstable (Month, Sales) LOAD * from ex1.xlsx;

El resultado en QlikView es el siguiente:

La tabla cruzada va a menudo precedida por una serie de columnas cualificadoras, que deben leerse de manera directa/continua. En este caso hay una columna cualificadora, Year:

Ejemplo 2:  

Salesman Year Jan Feb Mar Apr May Jun
A 2008 45 65 78 12 78 22
A 2009 11 23 22 22 45 85
A 2010 65 56 22 79 12 56
A 2011 45 24 32 78 55 15
A 2012 45 56 35 78 68 82
B 2008 57 77 90 24 90 34
B 2009 23 35 34 34 57 97
B 2010 77 68 34 91 24 68
B 2011 57 36 44 90 67 27
B 2012 57 68 47 90 80 94

En este caso hay dos columnas cualificadoras a la izquierda, seguidas por las columnas matriz. El número de columnas cualificadoras puede declararse un como tercer parámetro del prefijo crosstable, como se observa a continuación:

crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;

El resultado en QlikView es el siguiente:

Vea también: