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

如何通过Power Query循环ProdList批量添加EC_Prodx自定义列?

问题解决:Power Query 批量动态添加EC_Prodx列

错误原因

你使用[E_ & current]的写法是错误的——Power Query中[列名]是静态列引用,无法在方括号内直接拼接字符串生成动态列名,因此会触发“E_为无效标识符”的报错。

正确实现方案

要动态拼接列名并取值,需使用Record.Field函数,它可以接收当前行记录和目标列名字符串,实现动态字段访问。

完整代码

let
    ProdList = {"Prod1", "Prod2", "Prod3", "Prod4", "Prod5", "Prod6", "Prod7", "Prod8", "Prod9", "Prod10", "Prod11", "Prod12", "Prod13", "Prod14", "Prod15"},
    AddColumns = List.Accumulate(
        ProdList, 
        myTable,
        (state, current) => Table.AddColumn(
            state, 
            "EC_" & current, 
            each if Record.Field(_, "E_" & current) = 2 and Record.Field(_, "C_" & current) = 2 then [CLPC] else "n/a"
        )
    )
in
    AddColumns

关键逻辑说明

  • List.Accumulate:以myTable为初始表格,遍历ProdList中的每个元素,逐步给表格添加新列
  • Record.Field(_, "E_" & current):_代表当前行的记录,第二个参数是拼接后的目标列名(例如当current为Prod1时,生成E_Prod1),以此动态获取对应列的值
  • 后续若ProdList内容变动,只需修改ProdList的列表项,代码会自动适配生成对应数量的EC_Prodx列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:42:43