Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Power Query [Résolu] Groupement, pivot et plusieurs colonnes

brossadan

XLDnaute Nouveau
Bonjour, je fais appel à vous car je tourne en rond depuis plusieurs heures sur mon problème.
J'ai une requête query à partir d'un CSV comprenant les colonnes code client, nom, prénom, fixe, portable. Ma problématique est que l'extraction me donne une ligne par contact appartenant au meme code client. Je cherche à n'avoir qu'une ligne par code client avec plusieurs colonne Nom1 prénom1 fixe1 portable1, nom2 prénom2 etc...
Tableau de départ en Feuil1 et tableau souhaité en Feuil2
D'avance merci
 

Pièces jointes

  • test.xlsx
    12.3 KB · Affichages: 3

brossadan

XLDnaute Nouveau
Trugarez Cousinhub!
C'est exactement ce que je souhaitais !
En revanche j'ai du mal avec le M direct, que signifie le (_ avant ,"Index" ?
Pour le reste je pense bien comprendre les étapes mais je sèche sur ce _
 

brossadan

XLDnaute Nouveau
(C'était un hommage en remerciement , je parle plutôt le "ch'alut Biloute!")
Grand merci pour ce temps passé et ces explications, j'ai refait la démarche avec les options quasi de base de Query, je le repost ici si ça peut aider d'autres débutants à comprendre plus facilement la démarche.
A noter que j'ai zappé les étapes AjoutTri / Tri et SupprTri, j'obtiens le même résultat, ont-elles un intérêt fondamental ou est-ce juste pour plus de visibilité que vous les aviez ajoutés ?
 

Pièces jointes

  • Group lignes clients en colonne.xlsx
    25.9 KB · Affichages: 6

alexga78

XLDnaute Occasionnel
Bonsoir à tous,
un autre essai pour le "fun" et ceux qui aiment triturer du code M...

PowerQuery:
let
  Source = Excel.CurrentWorkbook(){[Name = "Départ"]}[Content],
  ColName = Table.ColumnNames(Source),
  #"Grouped Rows" = Table.Combine(
    Table.Group(
      Source,
      ColName{0},
      {{"Custom",
          each let x = Table.RowCount(_) in
              Table.RemoveColumns(
                Table.FromRows({List.Combine(Table.ToRows(_))},
                  List.TransformMany({1 .. x}, (y) => ColName, (y, z) => z & " " & (if Text.From(y) = "1" then "" else Text.From(y)))),
                List.TransformMany({2 .. x}, (y) => {y}, (y, z) => ColName{0} & " " & Text.From(z)))
      }}
    )[Custom]
  )
in
  #"Grouped Rows"

Bonne soirée,
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…