И вот еще один подход, который устраняет проблему, о которой @Ryan указал в моем предыдущем ответе.
Я начал с этого:
Обратите внимание, что в Laagdikte нет записи для первого набора из четырехстроки, которые станут первой записью.Это должно проиллюстрировать, что преднамеренные нули принимаются.
Затем я добавил индекс.... А потом я добавил модуль:
Затем я изменил код, созданный для графического интерфейсапо модулюЯ изменил его с Table.TransformColumns(#"Added Index", {{"Index", each Number.Mod(_, 4), type number}})
на Table.AddColumn(#"Added Index", "Modulo", each Number.Mod([Index], Table.ColumnCount(Source)), type number)
. Это меняет настройку с жесткого кода 4 на количество столбцов таблицы.
Затем я добавил столбецс этим кодом: if [Modulo] = 0 then [Index] else null
, что совпадает с добавлением условного столбца со следующими настройками:
Затем я выбрал столбец Пользовательский и заполнил:
Затем я сгруппировал столбец Пользовательский с помощью счетчика изатем я отредактировал полученный код следующим образом: Table.Group(#"Filled Down", {"Custom"}, {{"Voorvehandeling", each List.RemoveNulls([Voorvehandeling]), type text}, {"Proces", each List.RemoveNulls([Proces]), type text}, {"Laagdikte", each List.RemoveNulls([Laagdikte]), type text}, {"Kleur", each List.RemoveNulls([Kleur]), type text}})
Затем я добавил еще один столбец с этим кодом: Table.FromColumns({[Voorvehandeling],[Proces],[Laagdikte],[Kleur]},{"Voorvehandeling","Proces","Laagdikte","Kleur"})
Затем я удалил все, кроме нового столбца Tabled:
И, наконец, ярасширен столбец таблицы:
Обратите внимание, что в Laagdikte учитывается ноль.
Oh... И мои извинения за неправильное написание Voorbehandeling как Voorvehandeling на протяжении всей бдругие ответы.По крайней мере, я был последовательным.;)
Вот код М:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
#"Inserted Modulo" = Table.AddColumn(#"Added Index", "Modulo", each Number.Mod([Index], Table.ColumnCount(Source)), type number),
#"Added Custom" = Table.AddColumn(#"Inserted Modulo", "Custom", each if [Modulo] = 0 then [Index] else null),
#"Filled Down" = Table.FillDown(#"Added Custom",{"Custom"}),
#"Grouped Rows" = Table.Group(#"Filled Down", {"Custom"}, {{"Voorvehandeling", each List.RemoveNulls([Voorvehandeling]), type text}, {"Proces", each List.RemoveNulls([Proces]), type text}, {"Laagdikte", each List.RemoveNulls([Laagdikte]), type text}, {"Kleur", each List.RemoveNulls([Kleur]), type text}}),
#"Added Custom1" = Table.AddColumn(#"Grouped Rows", "Tabled", each Table.FromColumns({[Voorvehandeling],[Proces],[Laagdikte],[Kleur]},{"Voorvehandeling","Proces","Laagdikte","Kleur"})),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"Tabled"}),
#"Expanded Tabled" = Table.ExpandTableColumn(#"Removed Other Columns", "Tabled", {"Voorvehandeling","Proces","Laagdikte","Kleur"}, {"Voorvehandeling","Proces","Laagdikte","Kleur"})
in
#"Expanded Tabled"