Я начну с заявления об отказе от ответственности, что я не совсем уверен, что знаю, что вы пытаетесь сделать;но я все равно получил удар.
Я подумал, что вы пытались отфильтровать месяцы в запросе T_Catégories перед группировкой;поэтому я добавил туда шаг ручного фильтра.Когда я сделал это и отменил выбор месяца, ваш запрос T_Final прервался.Причина в том, что, поскольку я отфильтровал месяцы, он также отфильтровал категории, на которые ваш запрос T_Final полагался для имен столбцов.Например, это повлияло на ваши расчеты, основанные на именах столбцов.Мне пришлось изменить ваш запрос T_Final , чтобы он динамически определял имена столбцов.
Опять же, я не совсем уверен в том, что вы пытаетесь сделать, поэтому, возможно, я ошибся в расчетах, но это может помочь вам приблизиться, по крайней мере.
Как я уже сказал, в T_Catégories я добавил фильтр:
Вот когда все сломалось за T_Final .Поэтому в T_Final мне нужно было:
Изменить шаг Valeur remplacée1 на = Table.ReplaceValue(#"Colonne dynamique",null,0,Replacer.ReplaceValue,Table.ColumnNames(#"Colonne dynamique"))
(я был почти уверен, что вы использовали столбцы, полученные в результате предыдущего шага Colonne dynamicique .)
Измените шаг Personnalisée ajoutée3 на = Table.AddColumn(#"Valeur remplacée1", "Total général", each List.Sum(List.RemoveFirstN(Record.ToList(_),1)))
(это создание списка из записи, затем удаление первой записи списка исуммируя то, что осталось в списке.)
Измените шаг Colonnes permutées на = Table.ReorderColumns(#"Personnalisée ajoutée3",Table.ColumnNames(#"Personnalisée ajoutée3"))
(я был почти уверен, что вы использовали столбец, полученный в результате предыдущего шага Personnalisée ajoutée3 .)
Измените шаг Personnalisée ajoutée на = Table.AddColumn(#"Colonnes permutées", "Indisponibilté", each List.Sum(List.RemoveLastN(List.RemoveFirstN(Record.ToList(_),1),2)))
(Это создание списка из записи, затем удаление первой записи списка, затем удаление двух последних записейсписка и суммирования того, что осталось в списке. Это особенно, когда я не уверен, что добавил элементы, которые вы хотели. По крайней мере, вы можете увидеть, что я сделал, чтобы иметь возможность добавлять столбцы без использования статического симена olumn.)
Вот код m для трех запросов:
T_Catégories:
let
Source = Excel.CurrentWorkbook(){[Name="T_Catégories"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"Métier", type text}, {"Code absence", Int64.Type}, {"Date", type date}, {"Catégorie", type text}}),
#"Colonnes supprimées" = Table.RemoveColumns(#"Type modifié",{"Code absence", "Date"}),
#"Filtered Rows" = Table.SelectRows(#"Colonnes supprimées", each true),
#"Lignes groupées" = Table.Group(#"Filtered Rows", {"Métier", "Catégorie"}, {{"Nombre", each Table.RowCount(_), type number}})
in
#"Lignes groupées"
T_métiers:
let
Source = Excel.CurrentWorkbook(){[Name="T_métiers"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"Métier", type text}, {"Nombre", Int64.Type}})
in
#"Type modifié"
T_Final:
let
Source = Table.Combine({T_Catégories, T_métiers}),
#"Valeur remplacée" = Table.ReplaceValue(Source,null,"Nombre employés",Replacer.ReplaceValue,{"Catégorie"}),
#"Colonne dynamique" = Table.Pivot(#"Valeur remplacée", List.Distinct(#"Valeur remplacée"[Catégorie]), "Catégorie", "Nombre"),
#"Valeur remplacée1" = Table.ReplaceValue(#"Colonne dynamique",null,0,Replacer.ReplaceValue,Table.ColumnNames(#"Colonne dynamique")),
#"Personnalisée ajoutée3" = Table.AddColumn(#"Valeur remplacée1", "Total général", each List.Sum(List.RemoveFirstN(Record.ToList(_),1))),
#"Colonnes permutées" = Table.ReorderColumns(#"Personnalisée ajoutée3",Table.ColumnNames(#"Personnalisée ajoutée3")),
#"Personnalisée ajoutée" = Table.AddColumn(#"Colonnes permutées", "Indisponibilté", each List.Sum(List.RemoveLastN(List.RemoveFirstN(Record.ToList(_),1),2))),
#"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisée ajoutée", "Disponibilté", each [Nombre employés]*7.5),
#"Personnalisée ajoutée2" = Table.AddColumn(#"Personnalisée ajoutée1", "Taux disponibilté (%)", each (1-[Indisponibilté]/[Disponibilté])*100),
#"Type modifié" = Table.TransformColumnTypes(#"Personnalisée ajoutée2",{{"Indisponibilté", Int64.Type}, {"Disponibilté", type number}, {"Taux disponibilté (%)", type number}})
in
#"Type modifié"
Я думаю, вы можете продвинуться отсюда довольно хорошо.