Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
Hello,
I need your help on power query to retrieve data from a second table according to the header column and the value of the first column.
I have a table with country, city and population.
A second table, which is my final rendering with the countries in the header and the city in the header.
I need to import the values in the "nb" column into the right cells. However, if the value "KO" is present in the cell, I won't modify it.
If you can please help me and explain how to do this.
I've also tried transposing the table to make the two headings match, but I don't know what to do next.
Thank you
Regarde du cotรฉ des options avancรฉes du pivot pour choisir "Nombre".
Table.Pivot(Source, List.Distinct(Source[Country]), "Country", "Nb", List.Count)
Comme รงa on obtient des 1 si la valeur existe et des 0 sinon.
Stรฉphane
Le problรจme n'est plus le mรชme.
tu indiques au dรฉpart que tu veux des valeurs en diagonale et maintenant il peut y avoir plusieurs valeurs sur la mรชme ligne.
il serait plus simple de fournir directement le fait que chaque รฉlรฉment de la colonne "City" peut avoir plusieurs "Country".
ensuite au dรฉpart il y avait une valeur de 100000 ou 30000, et maintenant des 1.
donc montre nous le point de dรฉpart et le point d'arrivรฉe, ce sera mieux.
Merci
Stรฉphane
Je complรจte car j'avais mal compris le KO pour Madrid
Plutot que de vouloir modifier la Table1, je prรจfรจre partir de la table 2 pour reconstruire la table1
tout d'abord, dรฉpivoter la table 1 pour conserver uniquement les KO
puis fusionner la table 2 avec la table 1 pour ramener les KO,
retenir les KO ou sinon prendre le Nb (l'รฉtape ajouter une colonne [Valeur]??[Nb])
puis pivoter le pays.
Pour la table 1
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Supprimer le tableau croisรฉ dynamique des autres colonnes" = Table.UnpivotOtherColumns(Source, {"Country"}, "Attribut", "Valeur")
in
#"Supprimer le tableau croisรฉ dynamique des autres colonnes"
Pour la table 2
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Index ajoutรฉ" = Table.AddIndexColumn(Source, "Index", 0, 1, Int64.Type),
#"Requรชtes fusionnรฉes" = Table.NestedJoin(#"Index ajoutรฉ", {"City", "Country"}, Table1, {"Country", "Attribut"}, "Table1", JoinKind.LeftOuter),
#"Table1 dรฉveloppรฉ" = Table.ExpandTableColumn(#"Requรชtes fusionnรฉes", "Table1", {"Valeur"}, {"Valeur"}),
#"Personnalisรฉe ajoutรฉe" = Table.AddColumn(#"Table1 dรฉveloppรฉ", "Nb Retenu", each [Valeur]??[Nb]),
#"Colonne dynamique" = Table.Pivot(#"Personnalisรฉe ajoutรฉe", List.Distinct(#"Personnalisรฉe ajoutรฉe"[Country]), "Country", "Nb Retenu"),
#"Lignes triรฉes" = Table.Sort(#"Colonne dynamique",{{"Index", Order.Ascending}}),
#"Colonnes supprimรฉes" = Table.RemoveColumns(#"Lignes triรฉes",{"Nb", "Index", "Valeur"})
in
#"Colonnes supprimรฉes"
Stรฉphane
Bonjour Stรฉphane,
Merci pour ton aide la solution fonctionne, j'ai juste une derniรจre question stp.
Le rendu final:
Dans la colonne1 on vois que j'ai plusieurs "Paris" je voudrais regrouper les valeurs de "Paris" sur une seule ligne en rรฉcupรจrant les "1" associรฉs.
J'ai essayรฉ de passer par le "group by" de power query mais il ne permet que la sรฉlection 1 par 1 des colonnes, dans mon cas j'ai plus de 400 colonnes et ce chiffre peut variรฉ dans le futur.
J'ai essayรฉ d'utiliser "for each Table.ColumnNames[MaTable]" pour boucler sur toute les colonnes sauf "country" mais ca n'a pas l'air de fonctionner...
le rรฉsultat voulu (le nom ded l'ent-etes sont fictifs)
Bonjour
Pour obtenir la table de gauche ร partir de celle de droite il suffit de pivoter la colonne "Country" avec la colonne de valeur "Nb" et de choisir l'option avancรฉe "ne pas agrรฉger".
J'ajoute un index avant pour rรฉcupรฉrer ensuite l'ordre initial par un tri
let
Source = Votre_Source,
#"Index ajoutรฉ" = Table.AddIndexColumn(Source, "Index", 0, 1, Int64.Type),
#"Colonne dynamique" = Table.Pivot(#"Index ajoutรฉ", List.Distinct(#"Index ajoutรฉ"[Country]), "Country", "Nb"),
#"Lignes triรฉes" = Table.Sort(#"Colonne dynamique",{{"Index", Order.Ascending}})
in
#"Lignes triรฉes"
Stรฉphane
| User | Count |
|---|---|
| 12 | |
| 8 | |
| 5 | |
| 5 | |
| 5 |