2 Replies Latest reply: Apr 9, 2018 12:43 PM by Sébastien Fatoux RSS

    Transformer un Tableau croisé dynamique

    Poté Amaud GNEKOHI

      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.

        • Re: Transformer un Tableau croisé dynamique
          Philippe Mahieu

          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

          • Re: Transformer un Tableau croisé dynamique
            Sébastien Fatoux

            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;