let
Source = Excel.Workbook(File.Contents("T:\TEMP\Analyse gestion arrêt fichier base.xlsx"), null, true),
solivier_57_Sheet = Source{[Item="solivier_57",Kind="Sheet"]}[Data],
#"En-têtes promus" = Table.PromoteHeaders(solivier_57_Sheet, [PromoteAllScalars=true]),
#"Index ajouté" = Table.AddIndexColumn(#"En-têtes promus", "Index", 0, 1, Int64.Type),
#"Supprimer le tableau croisé dynamique des autres colonnes" = Table.UnpivotOtherColumns(#"Index ajouté", {"Index","Identité Matricule "}, "MCODE", "Valeur"),
#"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Supprimer le tableau croisé dynamique des autres colonnes", "MCODE", Splitter.SplitTextByEachDelimiter({"__"}, QuoteStyle.Csv, true), {"MCODE", "Info"}),
#"Valeur remplacée" = Table.ReplaceValue(#"Fractionner la colonne par délimiteur","ABS__","",Replacer.ReplaceText,{"MCODE"}),
Etat0 = Table.TransformColumnTypes(#"Valeur remplacée",{{"Identité Matricule ", type text}}),
Dates = Table.SelectRows(Etat0, each ([Info] = "DDEB" or [Info] = "DFIN" or [Info] = "RUNID" or [Info] = "TYPE")),
#"Colonne dynamique" = Table.Pivot(Dates, List.Distinct(Dates[Info]), "Info", "Valeur"),
#"Lignes filtrées" = Table.SelectRows(#"Colonne dynamique", each ([DDEB] <> "")),
Etat1 = Table.TransformColumnTypes(#"Lignes filtrées",{{"DDEB", type date}, {"DFIN", type date}, {"TYPE", type text}, {"RUNID", type text}}),
#"Lignes filtrées2" = Table.SelectRows(Etat0, each ([Info] <> "DDEB" and [Info] <> "DFIN" and [Info] <> "MCODE" and [Info] <> "RUNID" and [Info] <> "TYPE")),
Autres = Table.Pivot(#"Lignes filtrées2", List.Distinct(#"Lignes filtrées2"[Info]), "Info", "Valeur"),
#"Requêtes fusionnées" = Table.NestedJoin(Etat1, {"Identité Matricule ", "Index","MCODE"}, Autres, {"Identité Matricule ", "Index","MCODE"}, "Autres", JoinKind.Inner),
#"Autres développé" = Table.ExpandTableColumn(#"Requêtes fusionnées", "Autres", List.RemoveItems(Table.ColumnNames(Autres),Table.ColumnNames(Etat1))),
#"Lignes triées" = Table.Sort(#"Autres développé",{{"Identité Matricule ", Order.Ascending}, {"DDEB", Order.Ascending}}),
#"Colonnes supprimées" = Table.RemoveColumns(#"Lignes triées",{"Index"})
in
#"Colonnes supprimées"