Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans Power Query, vous pouvez transformer des colonnes en paires attribut-valeur, où les colonnes deviennent des lignes.
Diagramme montrant la table de gauche avec une colonne et des lignes vides et les valeurs Attributes A1, A2 et A3 en tant qu’en-têtes de colonne. Dans ce tableau, la colonne A1 contient les valeurs V1, V4 et V7. La colonne A2 contient les valeurs V2, V5 et V8. La colonne A3 contient les valeurs V3, V6 et V9. Avec les colonnes non pivotées, la table droite du diagramme contient une colonne et des lignes vides. Une colonne Attributes contient également neuf lignes avec A1, A2 et A3 répétées trois fois. Enfin, une colonne Values contient des valeurs V1 à V9.
Par exemple, étant donné un tableau comme suit, où les lignes de pays et les colonnes de date créent une matrice de valeurs, il est difficile d’analyser les données de manière évolutive.
Capture d’écran d’une table contenant un jeu de colonnes Country dans le type de données Texte et trois colonnes avec les dates du 1er juin 2023, du 1er juillet 2023 et du 1er août 2023 comme type de données nombre entier. La colonne Country contient les États-Unis à la ligne 1, au Canada à la ligne 2 et au Panama à la ligne 3.
Au lieu de cela, vous pouvez transformer la table en une table avec des colonnes sans pivot, comme le montre l'image ci-dessous. Dans la table transformée, il est plus facile d’utiliser la date en tant qu’attribut sur lequel filtrer.
** Capture d’écran de la table contenant une colonne intitulée Country en tant que type de données Texte, une colonne intitulée Attribut définie comme type de données Texte, et une colonne intitulée Valeur définie comme type de données Numérique entier. La colonne Country contient les États-Unis dans les trois premières lignes, le Canada dans les trois prochaines lignes et le Panama dans les trois dernières lignes. La colonne Attribut contient la date du 1er juin 2023 dans les premières, quatrième et septième lignes. La date du 1er juillet 2023 apparaît dans les deuxième, cinquième et huitième lignes. Enfin, la date du 1er août 2023 est trouvée dans les troisième, sixième et neuvième lignes.
La clé de cette transformation est que vous avez un ensemble de dates dans la table qui doivent tous faire partie d’une seule colonne. La valeur respective de chaque date et pays doit se trouver dans une colonne différente, créant ainsi une paire attribut-valeur.
Power Query crée toujours la paire attribut-valeur à l’aide de deux colonnes :
- Attribut : le nom des en-têtes de colonne qui ont été dépivotées.
- Valeur : Les valeurs qui se trouvaient sous chacun des en-têtes de colonne dé-pivotés.
Il existe plusieurs emplacements dans l’interface utilisateur où vous pouvez trouver les colonnes Unpivot. Vous pouvez cliquer avec le bouton droit les colonnes à dé-pivoter ou sélectionner la commande sous l’onglet Transformer dans le ruban.
Il existe trois façons de dissocier les colonnes d’une table :
- Dé-pivoter les colonnes
- Dissocier d’autres colonnes
- Transposer uniquement les colonnes sélectionnées
Transposer les colonnes
Pour le scénario décrit précédemment, vous devez d’abord sélectionner les colonnes que vous souhaitez dépivoter. Vous pouvez sélectionner Ctrl tout en sélectionnant autant de colonnes que nécessaire. Pour ce scénario, vous souhaitez sélectionner toutes les colonnes, à l’exception de celle nommée Country. Après avoir sélectionné les colonnes, cliquez avec le bouton droit sur l'une des colonnes sélectionnées, puis sélectionnez Annuler la mise en forme des colonnes.
Capture d’écran du tableau avec les colonnes du 1er juin 2023, du 1er juillet 2023 et du 1er août 2023 sélectionnées, ainsi que la commande Annuler la sélection des colonnes dans le menu contextuel.
Le résultat de cette opération génère le résultat indiqué dans l’image suivante.
Considérations spéciales
Après avoir créé votre requête à partir des étapes précédentes, imaginez que votre table initiale est mise à jour pour ressembler à la capture d’écran suivante.
Capture d’écran du tableau avec les mêmes colonnes de date Pays d'origine, 1er juin 2023, 1er juillet 2023, 1er août 2023, avec l’ajout d’une colonne de date du 1er septembre 2023. La colonne Country contient toujours les valeurs USA, Canada et Panama, mais également le Royaume-Uni ajouté à la quatrième rangée, ainsi que le Mexique ajouté à la cinquième rangée.
Notez que vous ajoutez une nouvelle colonne pour la date du 1er septembre 2023 (9/1/2023) et deux nouvelles lignes pour les pays/régions royaume-uni et mexique.
Si vous actualisez votre requête, notez que l’opération est effectuée sur la colonne mise à jour, mais n’affecte pas la colonne qui n’a pas été sélectionnée à l’origine (pays, dans cet exemple). Ce comportement signifie que toute nouvelle colonne que vous avez ajoutée à la table source est également dé-pivotée.
L’image suivante montre à quoi ressemble votre requête après l’actualisation avec la nouvelle table source mise à jour.
Capture d’écran de la table avec les colonnes Country, Attribute et Value. Les quatre premières lignes de la colonne Country contiennent des États-Unis, les quatre deuxièmes lignes contiennent le Canada, les quatre troisièmes lignes contiennent Panama, les quatre quatrièmes lignes contiennent le Royaume-Uni et les quatre cinquièmes lignes contiennent le Mexique. La colonne Attribut contient les dates du 1er juin 2023, du 1er juillet 2023 et d’août 2023 dans les quatre premières lignes, qui sont répétées pour chaque pays.
Dé-pivoter d'autres colonnes
Vous pouvez également sélectionner les colonnes que vous ne souhaitez pas dé-pivoter et dé-pivoter le reste des colonnes du tableau. Cette opération est utilisée lorsque Unpivot des autres colonnes entre en jeu.
Le résultat de cette opération génère exactement le même résultat que celui que vous avez obtenu à partir de colonnes Unpivot.
** Capture d’écran de la table contenant une colonne intitulée Country en tant que type de données Texte, une colonne intitulée Attribut définie comme type de données Texte, et une colonne intitulée Valeur définie comme type de données Numérique entier. La colonne Country contient les États-Unis dans les trois premières lignes, le Canada dans les trois prochaines lignes et le Panama dans les trois dernières lignes. La colonne Attribut contient la date du 1er juin 2023 dans les premières, quatrième et septième lignes. La date du 1er juillet 2023 se trouve dans les deuxième, cinquième et huitième lignes. La date du 1er août 2023 apparaît dans les troisième, sixième et neuvième lignes.
Remarque
Cette transformation est cruciale pour les requêtes qui ont un nombre inconnu de colonnes. L’opération désactive toutes les colonnes de votre table, à l’exception des colonnes que vous avez sélectionnées. Ce type de transformation offre une solution idéale si la source de données de votre scénario a reçu de nouvelles colonnes de date lors d'une actualisation, car ces nouvelles colonnes sont prises en charge et dépivotées.
Considérations spéciales
À l’instar de l’opération Unpivot columns, si votre requête est actualisée et que d’autres données sont récupérées à partir de la source de données, toutes les colonnes sont dépivotées sauf celles qui ont été sélectionnées précédemment.
Pour illustrer ce processus, supposons que vous disposez d’une nouvelle table comme celle de l’image suivante.
Capture d’écran du tableau avec les colonnes Country, 1er juin 2023, 1er juillet 2023, 1er août 2023 et 1er septembre 2023, avec toutes les colonnes définies sur le type de données Texte. La colonne Country contient, de haut en bas, les États-Unis, le Canada, le Panama, le Royaume-Uni et le Mexique.
Vous pouvez sélectionner la colonne Country , puis sélectionner Unpivot other column, qui génère le résultat suivant.
Capture d’écran de la table avec les colonnes Country, Attribute et Value. Les colonnes Country et Attribute sont définies sur le type de données Text. La colonne Valeur est définie sur le type de données Valeur entière. Les quatre premières lignes de la colonne Country contiennent des États-Unis, les quatre deuxièmes lignes contiennent le Canada, les quatre troisièmes lignes contiennent Panama, les quatre quatrièmes lignes contiennent le Royaume-Uni et les quatre cinquièmes lignes contiennent le Mexique. La colonne Attribut contient le 1er juin 2023, le 1er juillet 2023, le 1er août 2023 et le 1er septembre 2023 dans les quatre premières lignes, qui sont répétées pour chaque pays.
Annuler l'opération de pivot uniquement sur les colonnes sélectionnées
L’objectif de cette dernière option est de supprimer uniquement des colonnes spécifiques à partir de votre table. Cette option est importante pour les scénarios où vous traitez un nombre inconnu de colonnes de votre source de données. Elle vous permet de dissocier uniquement les colonnes sélectionnées.
Pour effectuer cette opération, sélectionnez les colonnes à transposer, ce qui, dans cet exemple, correspond à toutes les colonnes sauf la colonne Pays. Cliquez ensuite avec le bouton droit sur l'une des colonnes que vous avez sélectionnées, puis sélectionnez Dépivoter uniquement les colonnes sélectionnées.
Notez comment cette opération génère la même sortie que les exemples précédents.
** Capture d’écran de la table contenant une colonne intitulée Country en tant que type de données Texte, une colonne intitulée Attribut définie comme type de données Texte, et une colonne intitulée Valeur définie comme type de données Numérique entier. La colonne Country contient les États-Unis dans les trois premières lignes, le Canada dans les trois prochaines lignes et le Panama dans les trois dernières lignes. La colonne Attribut contient la date du 1er juin 2023 dans les premières, quatrième et septième lignes. La date du 1er juillet 2023 se trouve dans les deuxième, cinquième et huitième lignes. La date du 1er août 2023 apparaît dans les troisième, sixième et neuvième lignes.
Considérations spéciales
Après avoir effectué une actualisation, si notre table source change pour avoir une nouvelle colonne 9/1/2020 et de nouvelles lignes pour le Royaume-Uni et le Mexique, la sortie de la requête est différente des exemples précédents. Disons que notre table de données source, après actualisation, se transforme en la table de l’image suivante.
La sortie de notre requête ressemble à l’image suivante.
Cela ressemble à ceci, car l’opération unpivot a été appliquée uniquement sur les colonnes 6/1/2020, 7/1/2020 et 8/1/2020 , de sorte que la colonne avec l’en-tête 9/1/2020 reste inchangée.