Saltar al contenido principal Saltar al contenido complementario

Usar el prefijo Crosstable

Las tablas cruzadas son un tipo habitual de tabla, que ofrece una matriz de valores entre dos listas ortogonales de datos de cabecera. Cuando tenga una tabla cruzada de datos, puede usar el prefijo Crosstable para transformar los datos y crear los campos deseados.

El prefijo Crosstable

En la tabla Product siguiente tenemos una columna por mes y una fila por producto.

Tabla Product
ProductoEne 2014Feb 2014Mar 2014Abr 2014May 2014Jun 2014
A100981008310382
B284279297305294292
C505350544951

Cuando cargue la tabla, el resultado será una tabla con un campo para Product y un campo para cada uno de los meses.

La tabla Product con el campo Product y un campo por cada uno de los meses

La tabla de productos con el campo Product y un campo por cada uno de los meses.

Si desea analizar estos datos, es mucho más fácil tener todos los números en un campo y todos los meses en otro. En este caso, es una tabla de tres columnas con una columna para cada categoría. (Product, Month, Sales).

La tabla Product con los campos Product, Month y Sales

La tabla Product con los campos Product, Month y Sales.

El prefijo Crosstable convierte los datos en una tabla con una columna para Month y otra para Sales. Otra forma de expresarlo es decir que toma los nombres de los campos y los convierte en valores de campo.

  1. Cree una nueva app y denomínela Tutorial de script avanzado.
  2. Agregue una nueva sección de script en el Editor de carga de datos.
  3. Denomine a la sección: Product.
  4. En DataFiles en el menú a la derecha, haga clic en Seleccionar datos.

  5. Cargue y después seleccione Product.xlsx.
  6. Seleccione la tabla Product en la ventana Seleccionar datos desde.
  7. Nota de sugerenciaEn Nombres de campo, asegúrese de que Nombres de campo incluidos está seleccionado para que se incluyan los nombres de los campos de tabla cuando cargue los datos.
  8. Haga clic en Insertar script.
  9. Su script debería tener el aspecto siguiente:

    LOAD Product, "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014" FROM [lib://DataFiles/Product.xlsx] (ooxml, embedded labels, table is Product);

  10. Haga clic en Cargar datos.
  11. Abra el Visor del modelo de datos. El modelo de datos tendrá el siguiente aspecto:
  12. La tabla Product con el campo Product y un campo por cada uno de los meses

    La tabla de productos con el campo Product y un campo por cada uno de los meses.
  13. Haga clic en la pestaña Product en el Editor de carga de datos.
  14. Inserte lo siguiente encima de la sentencia LOAD:
  15. CrossTable(Month, Sales)

  16. Haga clic en Cargar datos.
  17. Abra el Visor del modelo de datos. El modelo de datos tendrá el siguiente aspecto:
  18. La tabla Product con los campos Product, Month y Sales

    La tabla Product con los campos Product, Month y Sales.

    Observe que, por lo general, los datos de entrada solo tienen una columna como campo calificador; como una clave interna (Product en el ejemplo anterior). No obstante, puede tener varias. De ser así, todos los campos calificadores deben enumerarse antes que los campos de atributo en la sentencia LOAD y se debe usar el tercer parámetro del prefijo Crosstable para definir el número de campos calificadores. No puede tener un LOAD precedente o un prefijo delante de la palabra clave Crosstable. Pero sí se puede usar la autoconcatenación.

    En una tabla en Qlik Sense, sus datos presentarán el siguiente aspecto:

    Tabla que muestra unos datos cargados usando el prefijo Crosstable

    Tabla que muestra unos datos cargados usando el prefijo Crosstable.

    Ahora puede, por ejemplo, crear un gráfico de barras utilizando los datos:

    Gráfico de barras que muestra unos datos cargados usando el prefijo Crosstable

    Gráfico de barras que muestra unos datos cargados usando el prefijo Crosstable.
Nota informativaSi desea más información sobre Crosstable, vea esta publicación de blog en Qlik Community: La carga mediante crosstable. Los comportamientos se discuten en el contexto de QlikView. No obstante, la lógica se aplica igualmente a Qlik Sense.

La interpretación numérica no funcionará para los campos de atributos. Esto significa que, si tiene meses como cabeceras de columna, estos no se interpretarán automáticamente. El procedimiento es utilizar el prefijo Crosstable para crear una tabla temporal y ejecutar una segunda pasada para realizar las interpretaciones como se muestra en el siguiente ejemplo:

Tenga en cuenta que esto es solo un ejemplo. No hay ejercicios de acompañamiento que completar en Qlik Sense.

tmpData: Crosstable (MonthText, Sales) LOAD Product, [Jan 2014], [Feb 2014], [Mar 2014], [Apr 2014], [May 2014], [Jun 2014] FROM ... Final: LOAD Product, Date(Date#(MonthText,'MMM YYYY'),'MMM YYYY') as Month, Sales Resident tmpData; Drop Table tmpData;

Borrado de la caché de la memoria

Puede eliminar las tablas que cree para borrar la memoria caché. Cuando cargue en una tabla temporal, como la de la sección anterior, elimínela cuando ya no la necesite más. Por ejemplo:

DROP TABLE Table1, Table2, Table3, Table4; DROP TABLES Table1, Table2, Table3, Table4;

También puede eliminar campos. Por ejemplo:

DROP FIELD Field1, Field2, Field3, Field4; DROP FIELDS Field1, Field2, Field3, Field4; DROP FIELD Field1 from Table1; DROP FIELDS Field1 from Table1;

Como puede ver, las palabras clave TABLE y FIELD pueden ir en singular o en plural.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.