电源查询 (M) _ 动态更新 List.Sum 函数的列列表



我不确定是否可能,但目标是根据用户选择日期动态更新查询。我的 Excel 文件中有一个表,同时更新一个提供给 PeriodString 变量的值(如下(

/*Parameter name = PeriodString */
let
Source = Excel.CurrentWorkbook(){[Name="PeriodString"]}[Content],
StrPeriod = Source[Value]{0}
in
StrPeriod

我要更新的代码部分是 [ ..选择的月份]。

=List.Sum({[FYOpening],[January],[February],[March],[April],[May]})

使用以下变量

=List.Sum({PeriodStr})

我尝试使用 Table.Column,因为我意识到我必须将值转换为可选列的列表,但我无法让它工作。

=List.Sum({Table.Column(PeriodString{0},PeriodString[0])})
Expression.Error: We cannot convert the value "[FY Opening],[Januar..." to type List.
Details:
Value=[FY Opening],[January],[February],[March],[April],[May]
Type=[Type]

如果可能/替代方案,请告诉我。

如果你需要像"[Col1],[Col2],[Col3]">这样的值来表示 PeriodString,那么请使用这样的代码:

let
Source = #table({"a".."e"},{{1..5}, {6..10}}),
PeriodString = "[b],[d],[e]",
sum = Table.AddColumn(Source, "sum", each List.Sum(Expression.Evaluate("{"&PeriodString&"}", [_=_])))
in
sum

我更喜欢使用 PQ 列表:

let
Source = #table({"a".."e"},{{1..5}, {6..10}}),
list = {"b","d","e"},
sum = Table.AddColumn(Source, "sum", each List.Sum(Record.ToList(Record.SelectFields(_, list))))
in
sum

最新更新