Power Query M中如何用Expression.Evaluate计算EntryFee列文本公式
Power Query M 整列调用Expression.Evaluate实现方法
方式1:新增计算列保留原EntryFee列
- 打开
#"Nearly There"查询,切换到「添加列」选项卡,点击「自定义列」 - 在自定义列公式输入框中填入以下代码,点击确定即可生成计算后的新列:
Expression.Evaluate([EntryFee], #shared)
补充说明:第二个参数
#shared会传入当前Power Query环境所有可用的函数、变量,避免表达式内的合法函数无法被识别报错。
方式2:直接转换原EntryFee列
- 选中EntryFee列,右键选择「转换」→「自定义」,或者直接在高级编辑器中新增以下步骤:
= Table.TransformColumns(#"替换为你上一步的步骤名称", {"EntryFee", each Expression.Evaluate(_, #shared)})
- 把代码中的
替换为你上一步的步骤名称修改为当前操作前最后一个步骤的名称即可。
注意事项
- 需确保EntryFee列内所有文本内容均为合法M语言表达式,否则执行时会抛出错误
- 若表达式需要引用当前行其他列的数值,需要将对应列传入Expression.Evaluate的环境参数,例如表达式需要用到同表的[Number]列,公式可修改为:
Expression.Evaluate([EntryFee], [Number = [Number]])
内容的提问来源于stack exchange,提问作者user9930055
相关产品推荐
相关产品推荐

