Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
intergnek
Partner - Contributor III
Partner - Contributor III

Transformer un Tableau croisé dynamique

Bonjour communauté,

Au chargement dans QlikSense je souhaite transformer le tableau "Table 1" suivant

Table 1.PNG

afin d'obtenir le tableau "la Table 2" ci-dessous:

Table 2.PNG

En effet, je souhaite transformer les colonnes "NOIR" et "BLANC" en lignes pour faciliter la récupération des valeurs.

Merci d'avance pour votre aide.

2 Replies
mahieuphilippe
Creator
Creator

Bonjour ,

Je ne suis pas expert mais as-tu essayé de faire glisser ta colonne dans la ligne (cliquer sur ta colonne noir/blanc laisser le bonton enfoncé jusqu'a ce que une fleche bleu apparaise et la faire glisser dans les lignes ?

500.JPG

sfatoux72
Partner - Specialist
Partner - Specialist

On ne peux malheureusement pas pivoter les données sur 2 niveau (Date, Couleur).

Avec quelques manipulations, on peut arriver au résultat désiré.

J'ai créer un fichier Excel (pièce jointe) qui représente tes données tels que j'ai pu le voir sur tes copies d'écran.

Il me semble que les dates sont sur 2 cellules Excel (pour Qlik, la 1ère contient la date et la seconde est vide)

Je vais effectuer le chargement en 2 étapes:

  1. Je charge les données du fichier Excel
    • En supprimant les couleurs, la 2ème ligne :   filters(Remove(Row, Pos(Top, 2)))
    • Je pivotes les dates en conservant la première colonne  :   CrossTable(Date, Données, 1)
    • Les colonnes n'ayant pas de nom (1ère, 3ème, 5ème, ...) seront nommée par défaut (F1, F3, F5, ...)
  2. Je complète les date manquante et j'ajoute les couleurs
    • Je nomme le 1er champs "Ville"  :  F1 as Ville
    • Je complète les champs date manquant :   Date(Date#(If(Left(Date, 1) = 'F', Previous(Date), Date), 'DD.MM.YYYY')) as Date
    • Je complète les couleurs   :   If(Left(Date, 1) = 'F', 'BLANC', 'NOIR') as Couleur
      • L'ordre des couleurs doit toujours être identique
  3. Je supprime la table temporaire

temp:
CrossTable(Date, Données, 1)
LOAD *
FROM
[lib://Downloads/Community_1467375.xlsx]
(ooxml, embedded labels, table is Feuil1, filters(
Remove(Row, Pos(Top, 2))
));

myTable:
NoConcatenate
Load
   F1 as Ville,
   Date(Date#(If(Left(Date, 1) = 'F', Previous(Date), Date), 'DD.MM.YYYY')) as Date,
   If(Left(Date, 1) = 'F', 'BLANC', 'NOIR') as Couleur,
   Données
Resident temp;

Drop table temp;