Partager via


Colonnes de tableau croisé dynamique

Dans Power Query, vous pouvez créer une table qui contient une valeur d’agrégation pour chaque valeur unique dans une colonne. Power Query regroupe chaque valeur unique, effectue un calcul agrégé pour chaque valeur et pivote la colonne dans une nouvelle table.

Diagramme montrant comment les colonnes de pivot transforment une table.

Diagramme montrant la table de gauche avec une colonne et des lignes vides. Une colonne Attributes contient neuf lignes avec A1, A2 et A3 répétées trois fois. Une colonne Valeurs contient, de haut en bas, des valeurs V1 à V9. Avec les colonnes pivotées, la table de droite contient une colonne et des lignes vides. Les valeurs Attributes A1, A2 et A3 sont des en-têtes de colonne. La colonne A1 contient les valeurs V1, V4 et V7. La colonne A2 contient les valeurs V2, V5 et V8. Enfin, la colonne A3 contenant les valeurs V3, V6 et V9.

Imaginez un tableau comme celui de l’image suivante.

Capture d’écran de la table d’origine utilisée pour pivoter une colonne.

Un tableau contenant une colonne Pays définie comme type de données Texte, une colonne Date définie comme type de données Date, et une colonne Valeur définie comme type de données Nombre 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 Date contient une date dans les premières, les sixièmes et les septième lignes, une deuxième date dans les deuxième, cinquième et huitième lignes, et troisième date dans les troisième, sixième et neuvième lignes.

Cette table contient des valeurs par pays et par date dans une table simple. Dans cet exemple, vous souhaitez transformer cette table en une colonne de date à pivoter, comme illustré dans l’image suivante.

Capture d’écran de la table finale créée en pivotant la colonne.

Tableau contenant une colonne Country définie comme type de données Texte, et des premières, deuxièmes et troisièmes colonnes de date définies comme type de données Nombre entier. La colonne Country contient le Canada à la ligne 1, Panama à la ligne 2 et aux États-Unis à la ligne 3.

Remarque

Pendant l’opération de colonnes pivotes, Power Query trie la table en fonction des valeurs trouvées sur la première colonne, à gauche de la table, dans l’ordre croissant.

Pour pivoter une colonne

  1. Sélectionnez la colonne à pivoter. Dans cet exemple, sélectionnez la colonne Date .

  2. Sous l’onglet Transformation du groupe de colonnes Any , sélectionnez Colonne pivot.

    Capture d’écran de l’onglet Transformation sélectionnée, colonne Date dans le tableau sélectionné et option de colonne pivot mise en évidence.

  3. Dans la boîte de dialogue Colonne pivot , dans la liste des colonnes Valeur , sélectionnez Valeur.

    Capture d’écran de la boîte de dialogue Colonne Pivot avec Basique sélectionné et la colonne Valeur définie sur Valeur.

    Par défaut, Power Query tente d’effectuer une somme en tant qu’agrégation, mais vous pouvez sélectionner l’option Avancé pour afficher d’autres agrégations disponibles.

    Capture d’écran de la boîte de dialogue Colonnes de tableau croisé avec Avancé sélectionné et liste déroulante de la fonction de valeur d'agrégation affichée.

Les options disponibles sont les suivantes :

  • Ne pas agréger
  • Nombre (tout)
  • Nombre (non vide)
  • Minimum
  • Maximale
  • Médian
  • Somme
  • Moyen

Pivotement des colonnes qui ne peuvent pas être agrégées

Vous pouvez pivoter des colonnes sans agrégation lorsque vous travaillez avec des colonnes qui ne peuvent pas être agrégées ou que l’agrégation n’est pas nécessaire pour ce que vous essayez de faire. Par exemple, imaginez une table comme l’image suivante, qui a pays, position et produit en tant que champs.

Capture d’écran de la table initiale pour illustrer une colonne pivot sans agrégation.

Tableau avec la colonne Country contenant les États-Unis dans les trois premières lignes, canada dans les trois lignes suivantes et Panama dans les trois dernières lignes. La colonne Position contient la première place dans les premières, quatrième et septième lignes, deuxième place dans les deuxième, cinquième et huitième lignes, et troisième place dans les troisième, sixième et neuvième lignes.

Supposons que vous souhaitiez pivoter la colonne Position dans cette table afin que vous puissiez avoir ses valeurs en tant que nouvelles colonnes. Pour les valeurs de ces nouvelles colonnes, vous utilisez les valeurs de la colonne Product . Sélectionnez la colonne Position , puis sélectionnez colonne pivot pour pivoter cette colonne.

Capture d’écran du tableau avec la colonne Positions sélectionnée et la commande colonnes de tableau croisé mise en évidence dans l’onglet Transformation.

Dans la boîte de dialogue Colonne pivot , sélectionnez la colonne Product comme colonne valeur. Sélectionnez le bouton d’option Avancé dans la boîte de dialogue Colonnes de tableau croisé dynamique , puis sélectionnez Ne pas agréger.

Capture d’écran de la boîte de dialogue De colonne pivot avec la fonction De valeur d’agrégation définie sur Ne pas agréger.

Le résultat de cette opération génère le résultat affiché dans l’image suivante.

Les colonnes de tableau croisé dynamique n’agrègent pas le résultat.

Table contenant les colonnes Country, First Place, Second Place et Third Place, avec la colonne Country contenant le Canada dans la ligne 1, Panama à la ligne 2 et aux États-Unis à la ligne 3.

Erreurs lors de l’utilisation de l’option Ne pas agréger

La façon dont l'option Don't aggregate fonctionne est qu'elle sélectionne une valeur unique pour l'opération de pivot afin de l'utiliser comme valeur pour l'intersection de la colonne et de la ligne correspondantes. Par exemple, supposons que vous disposez d’une table comme celle de l’image suivante.

Capture d’écran de la table initiale avec une colonne de pivot qui n’illustre pas une erreur d'agrégation.

Table avec des colonnes Country, Date et Value. 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 Date contient une date unique dans toutes les lignes. La colonne valeur contient différents nombres entiers compris entre 20 et 785.

Vous souhaitez pivoter cette table à l’aide de la colonne Date et utiliser les valeurs de la colonne Valeur . Étant donné que ce tableau croisé dynamique fait que votre tableau comporte uniquement les valeurs Country sur les lignes et les valeurs Dates comme colonnes, vous obtenez une erreur pour chaque valeur de cellule unique, car il y a plusieurs lignes pour chaque combinaison de Country et Date. Le résultat de cette Colonne pivot produit les résultats présentés dans l’image suivante.

Capture d’écran de la colonne pivot ne regroupe pas l’exemple de tableau final d’erreur.

Notez le message Expression.Error: There were too many elements in the enumeration to complete the operation. d’erreur : cette erreur se produit, car l’opération Don’t aggregate attend uniquement une valeur unique pour la combinaison pays et date.