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

Power Query Dépivoter colonnes dans PowerQuery

Labud

XLDnaute Nouveau
Bonjour
Je bloque sur une requête dans PowerQuery (pour transfert dans PowerBI). C'est peut être tout bête mais je n'y arrive pas alors je vous soumets mon problème.
J'ai une colonne avec des ID unique et plusieurs autres colonnes que j'aurais souhaité mettre en dessous les unes des autres. Le dépivotement des colonnes n'est pas adapté à mon problème, ou alors je n'arrive pas l'utiliser.
J'ai mis en pièce jointe un fichier exemple avec 2 tableaux : le tableau initial selon la structure existante de mes données et le tableau final sur le résultat que je souhaite atteindre.
Mes données sont plus complexes et présentent plus de colonnes mais l'exemple simplifié devrait permettre de m'aider ensuite à transposer sur mes données.
Merci beaucoup pour l'aide.
Bertrand
 

Pièces jointes

  • TEST_PowerQuery.xlsx
    9.1 KB · Affichages: 7

merinos

XLDnaute Accro
Bonjour @Labud ,

Que pense tu de ceci?

Ce serait bien de passer par la case presentation: Quand on sait ce que les gens font avec les donnéess (+/-) on reponds souvant mieux.


Merinos
 

Pièces jointes

  • TEST_PowerQuery.xlsx
    18.1 KB · Affichages: 8

Labud

XLDnaute Nouveau
Bonjour
Merci beaucoup pour vos réponses, c'est très bien elles répondent à mon problème.
J'ai bien compris la solution de merinos.
Merci Amilo pour tes 2 fichiers, je vais m'y pencher plus en détails, j'avoue ne pas connaitre l'étape 3 avec la création des listes.
Merci à tous pour vos contributions !
 

Amilo

XLDnaute Accro
Bonjour @Labud , le forum,
Dans le cas d'un tableau amené à évoluer en nombre de colonnes, je n'obtiens pas le même résulat que Merinos
Il suffit d'ajouter 2 nouvelles colonnes et de tester avec mon fichier verion V2

Cordialement
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
Une alternative :
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    UnPivot = Table.UnpivotOtherColumns(Source, {"ID"}, "Attribut", "Valeur"),
    Split = Table.SplitColumn(UnPivot, "Attribut", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Attribut.1", "Attribut.2"}),
    Pivot = Table.Pivot(Split, List.Distinct(Split[Attribut.1]), "Attribut.1", "Valeur"),
    SupprCol = Table.RemoveColumns(Pivot,{"Attribut.2"})
in
    SupprCol
Bonne journée
 

job75

XLDnaute Barbatruc
Bonsoir à tous,

Du classique sans Power Query avec en A10, à tirer vers le bas :
Code:
=SI(MOD(LIGNES(A$10:A10)-1;2);A9;INDEX(A$3:A$5;ENT(LIGNES(A$10:A10)/2)+1))
et en B10, à tirer à droite et vers le bas :
Code:
=SI(MOD(LIGNES(B$10:B10)-1;2);INDEX(D$3:D$5;ENT(LIGNES(B$10:B10)/2));INDEX(B$3:B$5;ENT(LIGNES(B$10:B10)/2)+1))
Bonne nuit.
 

Pièces jointes

  • TEST_PowerQuery.xlsx
    9.6 KB · Affichages: 1

Discussions similaires

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