Я создал таблицу в Excel 2016, в которую я помещал различные имена столбцов, столбцы, которые я хотел суммировать, имена для установки имен новых столбцов и т. Д. По сути, я хотел быть таблицей параметров.
Затем я создал функцию в редакторе Power Query и передал значения из вышеупомянутой таблицы в функцию.Сначала это не удалось, но я нашел Имя столбца Power Query в качестве параметра , который показал мне, как передать одно из имен столбцов в параметр.
На первый взгляд казалось, что групповая функция работает, я видел месяцы, которые я хотел сгруппировать, но значение суммировало всю таблицу для каждого месяца, а не по отдельности.Я начал с редактирования данных в обычном запросе:
let
Source = #"Final Dataset",
#"Grouped Rows" = Table.Group(Source, {"DateValue"}, {{"xOccurrences", each List.Sum([xOccurrences]), type number}}),
#"Added Custom4" = Table.AddColumn(#"Grouped Rows", "Plant Region", each "Ttl Occ PR"),
#"Added Custom" = Table.AddColumn(#"Added Custom4", "SD Region", each null)
in
#"Added Custom"
Результат запроса (как и ожидалось):
Затем я его параметризовал:
(groupByColumn as text, aggregateColumnName, optional plantRegionValue as text, optional sdRegionValue as text) =>
let
Source = #"Final Dataset",
#"Grouped Rows" = Table.Group(Source, {groupByColumn}, {{aggregateColumnName , each List.Sum(Table.Column(Source, aggregateColumnName)), type number}}),
#"Added Custom4" = Table.AddColumn(#"Grouped Rows", "Plant Region", each plantRegionValue),
#"Added Custom" = Table.AddColumn(#"Added Custom4", "SD Region", each sdRegionValue)
in
#"Added Custom"
Я выполнил функцию для таблицы параметров с двумя фиктивными строками.Две входные строки, каждая из которых умножена на 12-месячные строки, превратились в 24 (исходный набор данных составляет 12 месяцев), как и ожидалось, но суммированные значения представляют собой сумму набора данных (1528):
Как вы можете видеть, групповая функция, похоже, игнорирует второй параметр, который я назначил групповой функции.Я пробовал различные замены {groupByColumn} с различными конкатенациями, функцию Table.Column как для столбца для суммирования, и статически заменяя его исходным именем столбца {"DateValue"}.Функция столбца завершилась неудачно, хотя все остальные попытки дали одинаковые результаты, каждый месяц в паре с суммой всего набора данных, 1528.
Я думал, что это должен быть игнорирование второго параметра, поэтому я попытался оставить егопусто:
#"Grouped Rows" = Table.Group(Source, {}
, {{aggregateColumnName , each List.Sum(Table.Column(Source, aggregateColumnName)), type number}}),
, что, как и ожидалось, дало 2 строки со значениями 1528. Таким образом, параметр 2 только частично игнорируется:
Кто-нибудь знает, как передать переменные столбцы в функцию группы для динамической обработки таблицы параметров?Я стремлюсь динамически вычислять результаты из первой таблицы.