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

XL 2019 Tableau Power Query

JHA

XLDnaute Barbatruc
Bonjour à tous,

Avez-vous la solution pour réaliser le tableau de droite sous Power Query, malgré mes essais je ne trouve pas la bonne solution.
Il faut que les séries se suivent par site.

Edit: changement fichier

JHA
 

Pièces jointes

  • tableau sous PQ.xlsx
    22.9 KB · Affichages: 15
Dernière édition:

Lolote83

XLDnaute Barbatruc
Bonjour @JHA,
Ne maitrisant très très très très peu PowerQuery, je me suis mis sur le sujet afin de comprendre si quelqu'un venait à répondre.
En l'absence actuelle de réponse, voici ma proposition en VBA.
Un peu tirée par les cheveux mais les deux tableaux finaux sont identiques.
@+ Lolote83
 

Pièces jointes

  • Copie de JHA - Tableau sous PQ.xlsm
    32.4 KB · Affichages: 3

JHA

XLDnaute Barbatruc
Bonjour à tous et @Lolote83

Je te remercie pour ton investissement sur ce sujet. Cette solution donne en effet le bon résultat.

Je reste à l'écoute pour une proposition Power Query qui me permettra d'avancer avec cet outil.

JHA
 

alexga78

XLDnaute Occasionnel
Bonjour JHA, JFL_Excel, Lolote83, le forum,

j'arrive trop tard ... ma proposition tout de même.


PowerQuery:
let
Source = Excel.CurrentWorkbook(){[Name="Base"]}[Content],
    ColName = Table.ColumnNames(Source),
    #"Grouped Rows" = Table.Group(Source, {"SITE"}, {{"AllData", each Table.AddIndexColumn(_,"Index",0)}}),
    #"Added Custom" = Table.Combine(Table.AddColumn(#"Grouped Rows", "Custom", each let
alldata = [AllData],
Next =  Table.AddColumn(alldata, "Next", each try Table.Column(alldata, ColName{5}){[Index] + 1} otherwise Table.Column(alldata, ColName{5}){[Index]}),
Result = Table.AddColumn(Next, "List", each {Table.Column(Next, ColName{5}){[Index]}..Table.Column(Next, "Next"){[Index]}-1} )
in Result)[Custom]),
    Result = let fct = (fnRec as record) as list => List.Transform({ColName{5}}, each {_, each if List.Count(fnRec[List]) > 0 then fnRec[List] else {_} }) in Table.ExpandListColumn(Table.SelectColumns(Table.FromRecords(Table.TransformRows(#"Added Custom", (Rec) => Record.TransformFields(Rec, fct(Rec)))), ColName), ColName{5})
in
    Result

Bonne fin de journée
 

Discussions similaires

Réponses
14
Affichages
370
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…