Saltar al contenido principal Saltar al contenido complementario

Trabajar con tablas cruzadas en el editor de carga de datos

Una tabla cruzada es un tipo habitual de tabla, que ofrece una matriz de valores entre dos listas ortogonales de datos de cabecera. Por lo general no es el formato de datos más óptimo si queremos asociar los datos con otras tablas de datos.

Esta sección describe cómo podemos despivotar una tabla cruzada, es decir, transponer (o trasladar) partes de la misma a filas utilizando el prefijo crosstable en una sentencia LOAD en el script de carga de datos.

Despivotar una tabla cruzada con una columna cualificadora

Una tabla cruzada a menudo va precedida de una serie de columnas cualificadoras, que deben leerse de manera directa/continua. En este caso hay una columna de cualificación, Year, y una matriz de datos de ventas por mes.

Tabla cruzada con una columna cualificadora
YearJanFebMarAprMayJun
2008456578127822
2009112322224585
2010655622791256
2011452432785515
2012455635786882

Si esta tabla simplemente se carga en Qlik Sense el resultado será una tabla con un campo por Year y otro campo por cada uno de los meses. Por regla general, este no es el resultado que interesa. Probablemente preferiríamos tener tres campos generados:

  • La columna cualificadora, en este caso Year, marcada en verde en la tabla superior.
  • El campo de atributo, en este caso representado por los nombres de mes Jan - Jun marcados con amarillo. Este campo se puede denominar de forma adecuada Month.
  • Los valores de la matriz de datos, marcados con azul. En este caso representan datos de ventas, por lo que pueden denominarse Sales de forma adecuada.

Esto se logra añadiendo el prefijo crosstable a la sentencia LOAD o SELECT, por ejemplo:

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

Esto crea la tabla siguiente en Qlik Sense:

Tabla con el prefijo crosstable agregado a la sentencia LOAD o SELECT
YearMonthSales
2008Ene45
2008Feb65
2008Mar78
2008Abr12
2008May78
2008Jun22
2009Ene11
2009Feb23
.........

Despivotar una tabla cruzada con dos columnas cualificadoras

En este caso hay dos columnas cualificadoras a la izquierda, seguidas por las columnas matriz.

Tabla cruzada con dos columnas cualificadoras
SalesmanYearJanFebMarAprMayJun
A2008456578127822
A2009112322224585
A2010655622791256
A2011452432785515
A2012455635786882
B2008577790249034
B2009233534345797
B2010776834912468
B2011573644906727
B2012576847908094

El número de columnas cualificadoras se puede indicar como un tercer parámetro en el prefijo crosstable de la siguiente manera:

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

El resultado en Qlik Sense es el siguiente:

Tabla con columnas cualificadoras enunciadas como un tercer parámetro para el prefijo crosstable
Comercial de ventaYearMonthSales
A2008Ene45
A2008Feb65
A2008Mar78
A2008Abr12
A2008May78
A2008Jun22
A2009Ene11
A2009Feb23
............

Más información

 

¿Esta página le ha sido útil?

Si encuentra algún problema con esta página o su contenido (errores tipográficos, pasos que faltan o errores técnicos), no dude en ponerse en contacto con nosotros.