Power Query如何基于多条件判断创建自定义列
Power Query 多条件包含判断自定义列实现
你原公式的错误点:
- 混用了DAX和Power Query M语法:Power Query自定义列使用M语言,不支持DAX格式的大写
IF/THEN/ELSE、大写AND写法 List.Contains参数顺序颠倒:正确参数顺序为List.Contains(固定匹配列表, 待检查的字段值)- 使用了中文全角引号
“”,M语言仅识别英文半角双引号"" - 列名笔误:需求中待判断的当前列是
[Letter],原公式写为[Letters] - 冗余写法:逻辑判断本身直接返回布尔值,不需要额外套IF返回文本,除非你明确需要文本格式结果。
正确公式
打开Power Query的「自定义列」弹窗,直接输入以下公式即可返回布尔类型的True/False,和你预期效果完全匹配:
List.Contains({"A", "B", "C"}, [PrevLetter]) and List.Contains({"E", "F", "G"}, [Letter])
如果你需要返回文本格式的结果,使用以下写法:
if List.Contains({"A", "B", "C"}, [PrevLetter]) and List.Contains({"E", "F", "G"}, [Letter]) then "True" else "False"
注意:M语言所有条件关键字
if/then/else/and都需要小写。
运行效果
| PrevLetter | Letter | CustomColumn |
|---|---|---|
| A | F | True |
| X | M | False |
| B | E | True |
| C | F | True |
内容的提问来源于stack exchange,提问作者Data_Scientist
相关产品推荐
相关产品推荐

