Я пытаюсь передать имена столбцов в функцию мощного запроса - если я передаю их как [columnname] в вызове функции, он пытается реализовать их вне функции; если я передаю использование [параметра] внутри самой функции, он ищет столбец «параметр», а не имя столбца, переданного в вызове.
В другом месте StackExchange рекомендует использовать Table.Column (таблица, имя столбца), чтобы обойти это, но я получаю весь столбец за один раз, вместо того, чтобы иметь возможность сравнивать соответствующие записи в столбце.
Кто-нибудь может помочь? Вот код
(table,Mt0,Mt1) => let
#"Add Yt.1" = Table.AddColumn(table, "placeholder",
each if Table.Column(table,Mt0) <= 0 or - Table.Column(table,Mt1) < Table.Column(table,Mt0)
then Table.FromRecords({[Mt0 = Table.Column(table,Mt0), Mt1 = Table.Column(table,Mt1)]})
else Table.FromRecords({[Mt0 = 0,Mt1 = Table.Column(table,Mt1) + Table.Column(table,Mt0)]}))/*,
#"Expand Yt.1" = Table.ExpandTableColumn(Table.RemoveColumns(#"Add Yt.1",{"Mt0", "Mt1"}), "placeholder", {"Mt0","Mt1"})*/
in #"Add Yt.1"
Это хранится как Query1, и я звоню, используя Query1 (имя таблицы, Y1M, Y2M)
Эта версия выдает ошибку:
Мы не можем применить оператор "<=" к типам List и Number
(поэтому, хотя он может ссылаться на столбец Y1M по назначению, он сравнивает весь столбец (в виде списка) с «0» в первом неравенстве, а не с одной записью за раз. </p>
Помощь !!