Группировка по пользовательской функции в M (PowerQuery)

В настоящее время я работаю над созданием пользовательской функции, которая принимает три параметра:

  1. отчет
  2. поле
  3. столбецНовоеИмя

Цель этой функции — сгруппировать отчет таблицы по столбцу с надписью «Appl Nbr», а затем вычислить максимальное значение указанного поля, поместив результат в новый столбец с именем columnsNewName. Я хотел бы реплицировать эту пользовательскую функцию в несколько таблиц: Изображение

Однако я столкнулся с проблемой в следующем фрагменте кода:

(report as table, field as text, columnNewName as text) =>

let
    Source = report,
    SelectedField = Table.SelectColumns(Source, field),
    #"Grouped Rows" = Table.Group(Source, {"Appl Nbr"}, {{columnNewName, each List.Max(SelectedField), type nullable number}})
in
    #"Grouped Rows"

Ошибка 1Ошибка 2

Если я заменю SelectedField на количество дней, это сработает:

    (report as table, field as text, columnNewName as text) =>

let
    Source = report,
    SelectedField = Table.SelectColumns(Table1, "No. of Days"),
    #"Grouped Rows" = Table.Group(Source, {"Appl Nbr"}, {{columnNewName, each List.Max([No. of Days]), type nullable number}})
in
    #"Grouped Rows"

Я прикрепил таблицы ниже:

Таблица 1:

    let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMFDSUTI0BRKheZklqSkKwSWJJanFQL5vZnJGYmqOQnByfkmJUqwOQjWYdCtKzEtOxa8OSLinFuUm5lUCWT6lKeWZ6QpOqaklGfllqXlQpaZwpegOQOVDVJuDXGqMzbloqmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Appl Nbr" = _t, #"No. of Days" = _t, Country = _t, Name = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Appl Nbr", Int64.Type}, {"No. of Days", Int64.Type}, {"Country", type text}, {"Name", type text}})
in
    #"Changed Type"

Таблица 2

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMFDSUTIC4tC8zJLUFIXgksSS1GIg3zczOSMxNUchODm/pEQpVgeu2BCI3YoS85JT8akyAWL31KLcxLxKIMunNKU8M13BKTW1JCO/LDVPKTYWAA= = ", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Appl Nbr" = _t, #"No. of Weeks" = _t, Country = _t, Name = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Appl Nbr", Int64.Type}, {"No. of Weeks", Int64.Type}, {"Country", type text}, {"Name", type text}})
in
    #"Changed Type"
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
(report as table, field as text, columnNewName as text) =>

let
    #"Grouped Rows" = Table.Group(report, {"Appl Nbr"}, {{columnNewName, (x)=> List.Max( Table.Column(x, field)), type nullable number}})
in
    #"Grouped Rows"

Другие вопросы по теме