Это может помочь.Я начал с таблицы, похожей на ваш скриншот:
Затем я перенес ее в Power Query в виде таблицы 1:
Затем я добавил столбец индекса, начиная с 1:
Затем я добавил пользовательский столбец, чтобы определить, была ли неделя пропущена.Для этого он использует столбец Index и WeekNumber.(В противном случае попытка обрабатывает ошибку, которая возникает при получении последней записи.):
Затем я отфильтровал пользовательский столбец впоказывать только строки с «Нет»:
Затем, чтобы добавить записи о пропущенных неделях, я нажал функциональную кнопку ... ... и набрал = Table.TransformColumns(Custom1, {{"Qty Required", each 0},{"Requirement Date", each 0}, {"WeekNumber", each _ + 1}})
и нажал ввод в области функциональной панели.Я также изменил название примененного шага с Custom1 на Transform Table (справа от окна Power Query):
Затем я нажал Home> Append Queries и выбралTable1 в раскрывающемся списке, и я нажал OK.
Затем я изменил второй экземпляр # "Transform Table" на # "Added Custom" в области функциональной панели и нажал ввод.Это добавляет новые записи за предыдущие пропущенные недели с теми, которые уже существовали ранее, которые существовали в Приложенном шаге # «Добавленный пользовательский» (который также является в основном предыдущим состоянием таблицы), чтобы создать полный набор:
Затем я отсортировал по номеру недели:
Затем я удалил индекс и пользовательские столбцы:
Вот мой код М:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type datetime}, {"Part Number", Int64.Type}, {"Part Description", type text}, {"Current Balance On Hand", Int64.Type}, {"Qty Required", Int64.Type}, {"Requirement Date", type datetime}, {"WeekNumber", Int64.Type}, {"Year", Int64.Type}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each try if #"Added Index"{[Index]-1}[WeekNumber]+1 = #"Added Index"{[Index]}[WeekNumber] then "Yes" else "No" otherwise "Yes"),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = "No")),
#"Transform Table" = Table.TransformColumns(#"Filtered Rows", {{"Qty Required", each 0},{"Requirement Date", each 0}, {"WeekNumber", each _ + 1}}),
#"Appended Query" = Table.Combine({#"Transform Table", #"Added Custom"}),
#"Sorted Rows" = Table.Sort(#"Appended Query",{{"WeekNumber", Order.Ascending}}),
#"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Index", "Custom"})
in
#"Removed Columns"