[Power Query] Formater Tableau pour impression

Bonjour,

Dans le fichier joint, un Tableau avec 3 colonnes sur xx lignes.

J'aurais voulu transformer ce Tableau en :

- 4 colonnes (les 3 titres initiaux + une colonne vide de séparation)

- 10 lignes de données

Tout ceci par le biais de PQ, of corse

Vous remercie par avance pour toute aide

Bonne journée

Re-,

Pour le moment, j'en suis là (qui fonctionne très bien)

let
    Source = Excel.CurrentWorkbook(){[Name="T_Data"]}[Content],
    AjtColVide = Table.AddColumn(Source, "ColVide", each ""),
    AjtIndex = Table.AddIndexColumn(AjtColVide, "Index", 0, 1),
    CalculNoPage = Table.AddColumn(AjtIndex, "Page", each Number.IntegerDivide([Index],10)+1),
    GroupBy = Table.Group(CalculNoPage, {"Page"}, {{"Tabl", each _, type table}}),
    AjtIdxParPage = Table.AddColumn(GroupBy, "Personnalisé", each Table.AddIndexColumn([Tabl],"Idx",1)),
    Expand = Table.ExpandTableColumn(AjtIdxParPage, "Personnalisé", {"Titre 1", "Titre 2", "Titre 3", "ColVide", "Idx"}, {"Titre 1", "Titre 2", "Titre 3", "ColVide", "Idx"}),
    SupprTabl = Table.RemoveColumns(Expand,{"Tabl"}),
    UnPivot = Table.UnpivotOtherColumns(SupprTabl, {"Page", "Idx"}, "Attribut", "Valeur"),
    FusionNomCols = Table.ReplaceValue(UnPivot,each [Attribut],each Number.ToText([Page],"000") &" " & [Attribut],Replacer.ReplaceValue,{"Attribut"}),
    SupprColPage = Table.RemoveColumns(FusionNomCols,{"Page"}),
    Pivot = Table.Pivot(SupprColPage, List.Distinct(SupprColPage[Attribut]), "Attribut", "Valeur"),
    SupprColIdx = Table.RemoveColumns(Pivot,{"Idx"})
in
    SupprColIdx

Mais je pense qu'il doit être très largement "condensable"...

Merci par avance

Hello,

Une proposition

let
    Source = Excel.CurrentWorkbook(){[Name="T_Data"]}[Content],

    AddColVide = Table.AddColumn(Source, "ColVide", each null),

    SplitTable = List.Transform( Table.Split(AddColVide , 10) , each Table.ToColumns(Table.DemoteHeaders(_))),

    ToTable = Table.FromColumns(List.Combine(SplitTable))
in
    ToTable

@+

Edit :

La version pas à pas si besoin

let
    Source = Excel.CurrentWorkbook(){[Name="T_Data"]}[Content],

    AddColVide = Table.AddColumn(Source, "ColVide", each null),

    TableSplit = Table.Split(AddColVide , 10),

    DemoteHeaders = List.Transform ( TableSplit , Table.DemoteHeaders ),

    ToColumns = List.Transform ( DemoteHeaders , Table.ToColumns ),

    ListCol = List.Combine(ToColumns),

    Final = Table.FromColumns(ListCol)
in
    Final

Re-,

Hello Baroute

Merci pour ta proposition (effectivement bien condensée)

Et gros merci également pour "l'effeuillage" du code

Bonne journée

Avec plaisir m’sieur

Rechercher des sujets similaires à "power query formater tableau impression"