TUTORIEL · QLIK SENSE

Comprendre Generic LOAD

Transformer une structure attribut/valeur lorsque les attributs doivent devenir des champs Qlik.

Une table attribut / valeur

Certaines sources stockent des propriétés sous forme de lignes : un identifiant, un nom d’attribut et sa valeur.

Cette structure est souple côté source, mais peu pratique lorsque chaque attribut doit devenir un champ exploitable dans Qlik.

L’objectif est de retrouver des champs Couleur et Taille associés à chaque produit.

Exemple

ID_PRODUIT | ATTRIBUT | VALEUR
P01        | Couleur  | Rouge
P01        | Taille   | M
P02        | Couleur  | Bleu
CléID_PRODUIT
AttributCouleur / Taille
ValeurRouge / M

Transformer avec Generic LOAD

Le préfixe Generic utilise les valeurs du champ d’attribut pour créer des champs distincts.

Les champs placés avant ATTRIBUT et VALEUR servent de clés. Qlik génère ensuite des tables correspondant aux attributs rencontrés.

Generic LOAD ne produit pas simplement une table large unique : il crée une structure de tables qu’il faut comprendre avant de poursuivre le modèle.

Exemple

Attributs:
Generic LOAD
    ID_PRODUIT,
    ATTRIBUT,
    VALEUR
FROM [lib://Donnees/Attributs.qvd] (qvd);
CléID_PRODUIT
Nom du champATTRIBUT
ContenuVALEUR

Comprendre les tables générées

Chaque attribut rencontré peut donner naissance à une table contenant la clé et la valeur correspondante.

Avec Couleur et Taille, Qlik peut créer des tables distinctes liées par ID_PRODUIT. Cette structure peut être conservée ou retravaillée selon le modèle recherché.

Vérifiez le Data Model Viewer après le chargement pour voir exactement la structure obtenue.

Exemple

Attributs.Couleur
ID_PRODUIT | Couleur
P01        | Rouge
P02        | Bleu

Attributs.Taille
ID_PRODUIT | Taille
P01        | M
Tablesune par attribut
AssociationID_PRODUIT

Generic ou Crosstable ?

Les deux transformations répondent à des structures presque opposées.

Crosstable transforme des noms de colonnes en valeurs. Generic transforme des valeurs d’attribut en champs.

Le choix dépend de la forme de la source, pas du résultat visuel souhaité dans un graphique.

Exemple

Crosstablecolonnes → valeursJanvier, Février → champ MoisGenericvaleurs → champsCouleur, Taille → champs distincts
Crosstablelarge → verticale
Genericattribut/valeur → champs