如何用M语言编写条件列,替代DAX实现英寸转厘米的条件转换?
Power Query(M语言)实现英寸转厘米的条件列
核心M语言代码
在Power Query中添加自定义列时,使用以下代码即可创建名为conditional_column的条件列:
= if [col_a] = "I" then [col_b] * 2.54 else [col_b]
操作步骤
- 打开Power Query编辑器,选中目标数据表
- 点击添加列选项卡,选择自定义列
- 在弹出的对话框中,将默认代码替换为上述M代码,并将新列名修改为
conditional_column - 点击确定完成添加
数据验证
对应你提供的示例数据:
| col_a | col_b |
|---|---|
| I | 0.4 |
| M | 0.6 |
| I | 0.12 |
| M | 0.18 |
生成的conditional_column结果如下(注:0.4×2.54实际为1.016,0.12×2.54实际为0.3048,你提供的预期结果可能存在四舍五入简化):
| col_a | col_b | conditional_column |
|---|---|---|
| I | 0.4 | 1.016 |
| M | 0.6 | 0.6 |
| I | 0.12 | 0.3048 |
| M | 0.18 | 0.18 |
与原DAX代码的对应关系
原DAX逻辑:
conditional_column = IF(data[col_a] = "I", data[col_b] * 2.54, data[col_b])
M语言代码完全匹配该条件逻辑,实现了相同的转换规则。
内容的提问来源于stack exchange,提问作者Gaaaa
相关产品推荐
相关产品推荐

