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

Power Query分组聚合时引用字段返回空列表问题求解

问题根因

代码的问题出在Table.Group聚合步骤的作用域上下文:在聚合的each代码块中,[Code]指代的是当前分组对应的子表的整列Code字段,是列表类型,而非当前分组对应的唯一Code值。拿列表和List_CODES里的数值做匹配,自然没有符合条件的结果,所以返回空列表。

修复方案

因为按Code分组后,每个分组内的所有行Code值都是相同的,只需要取该分组下任意一行的Code值做匹配即可,比如用List.First([Code])取分组内第一个Code值即可。
修正后的代码如下:

let
    Source = Excel.CurrentWorkbook(){[Name="tblCodes"]}[Content],
    mytable = Table.TransformColumnTypes(Source,{{"Code", Int64.Type}}),
    List_CODES=List.Buffer(mytable[Code]),
    Results= Table.Group(mytable, {"Code"}, {{"mylist", each List.PositionOf(List_CODES, List.First([Code]), Occurrence.All), type list}})
in
    Results

运行效果

在你给出的示例数据下,运行后返回结果符合预期:

  • Code=1 对应 mylist 值为 {0, 3}
  • Code=13 对应 mylist 值为 {1, 4, 6}
  • Code=15 对应 mylist 值为 {2}
  • Code=8 对应 mylist 值为 {5}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:27:03