You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query(M)多变量Table.SelectRows问题:含区域的MOM聚合实现

修正Power Query中带区域维度的月度累计函数

你的错误出在Table.SelectRows的筛选条件写法上——不能拆分出两个独立的筛选逻辑,需要将同区域和时间不晚于当前行两个条件,用逻辑与运算符(&&)合并到同一个lambda筛选函数中。

正确的代码实现

Table.AddColumn(#"Added Custom2", "Property Region Cumulative Value", each List.Sum(
    Table.SelectRows(
        #"Added Custom2", 
        (x) => x[Month Start] <= [Month Start] && x[Property Region] = [Property Region]
    )[Value]), type number)

这段代码会针对每一行,筛选出所有属于同一Property Region且Month Start小于等于当前行Month Start的记录,再对这些记录的Value字段求和,最终得到按区域维度分组的月度累计值。

性能优化建议(针对大数据量)

如果你的数据集行数较多,逐行全表筛选的性能会比较差。可以先按Property Region分组,再在每个分组内计算累计值,减少不必要的跨组筛选:

// 步骤1:按Property Region分组
#"Grouped Rows" = Table.Group(#"Added Custom2", {"Property Region"}, {{"GroupedData", each _, type table}}),
// 步骤2:在每个分组内添加累计列
#"Added Cumulative" = Table.AddColumn(#"Grouped Rows", "With Cumulative", each 
    Table.AddColumn([GroupedData], "Property Region Cumulative Value", (currentRow) => 
        List.Sum(Table.SelectRows([GroupedData], (x) => x[Month Start] <= currentRow[Month Start])[Value]), type number)),
// 步骤3:展开分组后的表格
#"Expanded With Cumulative" = Table.ExpandTableColumn(#"Added Cumulative", "With Cumulative", {"Month Start", "Value", "Property Region Cumulative Value"})

内容的提问来源于stack exchange,提问作者mresner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 09:07:10