Dépivoter des colonnes
Dans Power Query, vous pouvez transformer des colonnes en paires attribut-valeur, où les colonnes deviennent des lignes.
Diagramme montrant le tableau gauche avec une colonne vide et des lignes, et des valeurs d’attributs A1, A2 et A3 en tant qu’en-têtes de colonne. Dans cette table, 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 dépivotées, le tableau droit du diagramme contient une colonne vide et des lignes, une colonne Attributs avec neuf lignes avec A1, A2 et A3 répétés trois fois et une colonne Valeurs avec 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 scalable.
Capture d’écran d’une table contenant un jeu de colonnes Pays défini dans le type de données Texte, et trois colonnes avec les dates 1er juin 2023, 1er juillet 2023 et 1er août 2023 en tant que type de données Nombre entier. La colonne Pays contient USA sur la ligne 1, Canada sur la ligne 2 et Panama sur la ligne 3.
Au lieu de cela, vous pouvez transformer le tableau en tableau avec des colonnes dépivotées, comme illustré dans l’image suivante. Dans le tableau transformé, il est plus facile d’utiliser la date comme attribut pour filtrer.
Capture d’écran du tableau contenant une colonne Pays définie comme type de données Texte, une colonne Attribut définie comme type de données Texte et une colonne Valeur définie comme type de données Nombre entier. La colonne Pays 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 1er juin 2023 sur les première, quatrième et septième lignes, 1er juillet 2023 sur les deuxième, cinquième et huitième lignes, et 1er août 2023 sur les troisième, sixième et neuvième lignes.
La clé de cette transformation est que vous avez dans le tableau un ensemble de dates qui doivent toutes faire partie d’une colonne unique. 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 : nom des en-têtes de colonne qui ont été dépivotés.
- Valeur : valeurs qui figuraient sous chacun des en-têtes de colonne dépivotés.
Il existe plusieurs emplacements dans l’interface utilisateur où vous pouvez trouver Dépivoter les colonnes. Vous pouvez cliquer avec le bouton droit sur les colonnes que vous souhaitez dépivoter, ou vous pouvez sélectionner la commande sous l’onglet Transformer dans le ruban.
Il existe trois façons de dépivoter des colonnes à partir d’un tableau :
- Dépivoter des colonnes
- Dépivoter d’autres colonnes
- Dépivoter uniquement les colonnes sélectionnées
Pour le scénario décrit précédemment, vous devez d’abord sélectionner les colonnes que vous souhaitez dépivoter. Vous pouvez appuyer sur la touche Ctrl pendant que vous sélectionnez les colonnes souhaitées. Pour ce scénario, vous souhaitez sélectionner toutes les colonnes à l’exception de celle nommée Pays. Après avoir sélectionné les colonnes, cliquez avec le bouton droit sur l’une des colonnes sélectionnées, puis sélectionnez Dépivoter les colonnes.
Capture d’écran du ableau avec les colonnes 1er juin 2023, 1er juillet 2023 et 1er août 2023 sélectionnées, et la commande Supprimer le tableau croisé dynamique sélectionnée dans le menu contextuel.
Cette opération génère le résultat affiché dans l’image suivante.
Après avoir créé votre requête à partir des étapes précédentes, imaginez que votre tableau initial est mis à jour de façon à ressembler à la capture d’écran suivante.
Capture d’écran de la table avec les mêmes colonnes de date Country d’origine 1er juin 2023, 1er juillet 2023 et août 2023, avec l’ajout d’une colonne de date 1er septembre 2023. La colonne Pays contient toujours les valeurs USA, Canada et Panama, mais les valeurs Royaume-Uni et Mexique ont été ajoutées sur les quatrième et cinquième lignes.
Notez que vous ajoutez une nouvelle colonne pour la date 1er septembre 2023 (1/9/2023) et deux nouvelles lignes pour les pays/régions Royaume-Uni et Mexique.
Si vous actualisez votre requête, vous remarquez que l’opération est effectuée sur la colonne mise à jour, mais qu’elle n’affecte pas la colonne qui n’a pas été sélectionnée initialement (Pays, dans cet exemple). Cela signifie que toute nouvelle colonne ajoutée au tableau source est également dépivotée.
L’image suivante montre à quoi votre requête ressemble après l’actualisation avec le nouveau tableau source mis à jour.
Capture d’écran du tableau avec des colonnes Pays, Attribut et Valeur. Les quatre premières lignes de la colonne Pays contiennent USA, les quatre suivantes contiennent Canada, les quatre suivantes contiennent Panama, les quatre suivantes contiennent Royaume-Uni et les quatre dernières contiennent Mexique. La colonne Attribut contient les dates 1er juin 2023, 1er juillet 2023 et 1er août 2023 sur les quatre premières lignes, qui sont répétées pour chaque pays.
Vous pouvez également sélectionner les colonnes que vous ne souhaitez pas dépivoter, et dépivoter les autres colonnes du tableau. Cette opération fait appel à la commande Dépivoter d’autres colonnes.
Cette opération génère exactement le même résultat que celui que vous avez obtenu à partir de Dépivoter les colonnes.
Capture d’écran du tableau contenant une colonne Pays définie comme type de données Texte, une colonne Attribut définie comme type de données Texte et une colonne Valeur définie comme type de données Nombre entier. La colonne Pays 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 1er juin 2023 sur les première, quatrième et septième lignes, 1er juillet 2023 sur les deuxième, cinquième et huitième lignes, et 1er août 2023 sur les troisième, sixième et neuvième lignes.
Notes
Cette transformation est cruciale pour les requêtes qui ont un nombre inconnu de colonnes. L’opération dépivote toutes les colonnes de votre tableau, sauf celles que vous avez sélectionnées. Il s’agit d’une solution idéale si la source de données de votre scénario a obtenu de nouvelles colonnes de date lors d’une actualisation, car celles-ci seront récupérées et dépivotées.
Comme pour l’opération Dépivoter les colonnes, 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, imaginez que vous avez un nouveau tableau comme celui de l’image suivante.
Capture d’écran de la table 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 Pays contient, de haut en bas, USA, Canada, Panama, Royaume-Uni et Mexique.
Vous pouvez sélectionner la colonne Pays, puis sélectionner Dépivoter d’autres colonnes, ce qui génère le résultat suivant.
Capture d’écran du tableau avec des colonnes Pays, Attribut et Valeur. Les colonnes Pays et Attribut sont définies sur le type de données Texte. La colonne Valeur est définie sur le type de données Valeur entière. Les quatre premières lignes de la colonne Pays contiennent USA, les quatre suivantes contiennent Canada, les quatre suivantes contiennent Panama, les quatre suivantes contiennent Royaume-Uni et les quatre dernières contiennent Mexique. La colonne Attribut contient 1er juin 2023, 1er juillet 2023, 1er août 2023 et 1er septembre 2023 sur les quatre premières lignes, qui sont répétées pour chaque pays.
L’objectif de cette dernière option consiste à dépivoter uniquement certaines colonnes spécifiques de votre tableau. Cette option est importante dans les scénarios où vous ignorez le nombre de colonnes dans votre source de données et où vous souhaitez uniquement dépivoter les colonnes sélectionnées.
Pour effectuer cette opération, sélectionnez les colonnes à dépivoter. Dans notre exemple, il s’agit de toutes les colonnes à l’exception de 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 que cette opération génère la même sortie que les exemples précédents.
Capture d’écran du tableau contenant une colonne Pays définie comme type de données Texte, une colonne Attribut définie comme type de données Texte et une colonne Valeur définie comme type de données Nombre entier. La colonne Pays 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 1er juin 2023 sur les première, quatrième et septième lignes, 1er juillet 2023 sur les deuxième, cinquième et huitième lignes, et 1er août 2023 sur les troisième, sixième et neuvième lignes.
Après une actualisation, si notre tableau source change et a une nouvelle colonne 01/09/2020 et de nouvelles lignes Royaume-Uni et Mexique, la sortie de la requête est différente des exemples précédents. Supposez que notre tableau source, après une actualisation, soit celui de l’image suivante.
La sortie de notre requête ressemble à l’image suivante.
Il a cette apparence car l’opération Dépivoter a été appliquée uniquement sur les colonnes 01/06/2020, 01/07/2020 et 01/08/2020, et la colonne avec l’en-tête 01/09/2020 est donc restée inchangée.