1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| let
Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"truc", type text}}),
#"En-têtes rétrogradés" = Table.DemoteHeaders(#"Type modifié"),
#"Premières lignes supprimées" = Table.Skip(#"En-têtes rétrogradés",1),
#"Valeur remplacée" = Table.ReplaceValue(#"Premières lignes supprimées","""","",Replacer.ReplaceText,{"Column1"}),
#"Index ajouté" = Table.AddIndexColumn(#"Valeur remplacée", "Index", 0, 1, Int64.Type),
#"Fractionner la colonne par délimiteur" = Table.ExpandListColumn(Table.TransformColumns(#"Index ajouté", {{"Column1", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1"),
#"Fractionner la colonne par délimiteur1" = Table.SplitColumn(#"Fractionner la colonne par délimiteur", "Column1", Splitter.SplitTextByDelimiter("=", QuoteStyle.Csv), {"Titre", "Valeur"}),
#"Lignes groupées" = Table.Group(#"Fractionner la colonne par délimiteur1", {"Titre", "Index"}, {{"Tabl", each _, type table [truc.1=nullable text, truc.2=nullable text, Index=number]}}),
#"Personnalisée ajoutée" = Table.AddColumn(#"Lignes groupées", "Idx", each Table.AddIndexColumn([Tabl],"Idx",1)),
#"Idx développé" = Table.ExpandTableColumn(#"Personnalisée ajoutée", "Idx", {"Valeur", "Idx"}, {"Valeur", "Idx.1"}),
#"Colonnes fusionnées" = Table.CombineColumns(Table.TransformColumnTypes(#"Idx développé", {{"Idx.1", type text}}, "fr-FR"),{"Titre", "Idx.1"},Combiner.CombineTextByDelimiter("_", QuoteStyle.None),"Colonne"),
#"Colonnes supprimées" = Table.RemoveColumns(#"Colonnes fusionnées",{"Tabl"}),
#"Colonne dynamique" = Table.Pivot(#"Colonnes supprimées", List.Distinct(#"Colonnes supprimées"[Colonne]), "Colonne", "Valeur"),
#"Colonnes renommées" = Table.RenameColumns(#"Colonne dynamique",{{"CN_1", "CN"}})
in
#"Colonnes renommées" |