excel - Power Query (M) _ 动态更新 List.Sum 函数的列列表
问题描述
我不确定是否可能,但目标是根据用户选择日期动态更新查询。我的 Excel 文件中有一个表格,同时更新了一个提供给 PeriodString 变量的值(如下)
/*Parameter name = PeriodString */
let
Source = Excel.CurrentWorkbook(){[Name="PeriodString"]}[Content],
StrPeriod = Source[Value]{0}
in
StrPeriod
我要更新的代码部分是 [ ..months selected ]。
=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]
如果可能/替代方案,请告诉我。
解决方案
如果您需要为 PeriodString 提供像“[Col1],[Col2],[Col3]”这样的确切值,请使用以下代码:
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 list 代替:
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
推荐阅读
- php - 截断不正确的 DOUBLE 值:'12,11''
- ios - 使用 Tab Bar 时如何显示 ViewController 的标题?
- python - 无法更改模型序列化程序中的验证字段错误消息
- spring-boot - Hystrix 的健康端点不可用
- javascript - Javascript减少,如果没有要显示的元素,则不显示类别
- javafx - 显示窗口后运行逻辑
- wordpress - 我对 Woocommerce 有疑问。购物车页面和结帐在一个页面上,即结帐页面
- html - 在右 div 移动到底部之前调整左 div 的大小
- jquery - 如果复选框选中并且需要输入的字段不为空,则更改按钮类别
- leaflet - Geodjango OGR 失败的问题 - GDAL 异常