Utilisation des tableaux croisés dans le script de chargement de données

Un tableau croisé est un type de table courant comprenant une matrice de valeurs provenant de deux listes orthogonales de données d'en-tête. En général, ce format de données ne convient pas vraiment pour associer les données à d'autres tables de données.

Cette rubrique vous explique comment annuler le glissement d'un tableau croisé dynamique ou crosstab, c'est-à-dire comment transposer des parties de la table en lignes, à l'aide du préfixe crosstable utilisé avec une instruction LOAD dans le script de chargement de données.

Annulation du glissement d'un tableau croisé dynamique doté d'une seule colonne qualifiante

Un tableau croisé (ou crosstab) est souvent précédé d'un certain nombre de colonnes qualifiantes, qui doivent être lues de façon directe. Dans le cas présent, il y a une colonne qualifiante, Year, et une matrice de données de ventes par mois.

Tableau croisé dynamique doté d'une seule colonne qualifiante
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 ce tableau est simplement chargé dans Qlik Sense, le résultat est un champ pour Year et un champ pour chacun des mois. Ce n'est pas ce que nous souhaitons généralement. Il est probablement plus intéressant de générer trois champs :

  • La colonne qualifiante, dans ce cas Year, signalée en vert dans la table précédente.
  • Le champ d'attribut, dans ce cas représenté par les noms des mois Jan - Jun signalés en jaune. Ce champ peut être nommé de manière pratique Month.
  • Les valeurs de la matrice de données, signalées en bleu. Dans ce cas, les données représentent les données de ventes. Il conviendrait donc de nommer le champ Sales.

Pour ce faire, ajoutez le préfixe crosstable à l'instruction LOAD ou SELECT, par exemple :

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

La table suivante est alors créée dans Qlik Sense:

Table dotée du préfixe crosstable ajouté à l'instruction LOAD ou SELECT
Year Month Sales
2008 Jan 45
2008 Feb 65
2008 Mar 78
2008 Apr 12
2008 May 78
2008 Jun 22
2009 Jan 11
2009 Feb 23
... ... ...

Annulation du glissement d'un tableau croisé dynamique doté de deux colonnes qualifiantes

Dans ce cas, il y a deux colonnes qualifiantes à gauche, suivies des colonnes de la matrice.

Tableau croisé dynamique doté de deux colonnes qualifiantes
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

Le nombre de colonnes qualifiantes peut être indiqué comme troisième paramètre du préfixe crosstable, de la manière suivante :

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

Ceci entraîne le résultat suivant dans Qlik Sense :

Table dotée du nombre de colonnes qualifiantes indiqué comme troisième paramètre du préfixe crosstable
Salesman Year Month Sales
A 2008 Jan 45
A 2008 Feb 65
A 2008 Mar 78
A 2008 Apr 12
A 2008 May 78
A 2008 Jun 22
A 2009 Jan 11
A 2009 Feb 23
... ... ... ...

See also: