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

PowerQuery函数改造报错:字段访问表达式误用参数名而非参数值

解决PowerQuery分组中动态列名的字段访问问题

你遇到的核心问题是:在Table.Group的each表达式里,[Col]会被PowerQuery直接解析为列名"Col",而非引用变量Col的值;如果直接用Table.Column(table, Col),会调用全局的原表table,返回所有行的对应列数据,而非当前分组的子表数据。

正确解决方案

在each上下文里,用_指代当前分组的子表,配合Table.Column(_, Col)就能获取分组内目标列的数据,修改后的代码如下:

let
    table = Table.FromRecords({
        [CustomerID=1, OrderID="1"],
        [CustomerID=2, OrderID="2"],
        [CustomerID=1, OrderID="3"],
        [CustomerID=3, OrderID="4"]
    }),
    Col = "OrderID",
    Source = Table.Group(
                 table,
                 {"CustomerID"},
                 {{"Orders", each Text.Combine(Table.Column(_, Col), ",")}}
             )
in
  Source

原理说明

  • each表达式中的_代表当前分组生成的子表,而非全局的原表table,因此Table.Column(_, Col)只会提取当前分组内的目标列数据。
  • 原代码中的[Col]属于PowerQuery的字段访问语法,仅当存在名为"Col"的列时才有效,无法识别变量Col的字符串值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 08:52:36