计算 if or match in another column in same table
Count if or match in another column in same table
我在 table 中有 Column A
和 Column B
:
我想创建一个计算列,如果 Column A
中的字母在 Column B
中找到,则显示 "Yes",如果不是这种情况,则显示 "No"(在电源查询中,所以在语言 M 中)。
我已经阅读了很多关于计算函数、过滤 table、搜索函数等的内容(甚至将 table 与其自身合并,但我的文件已经很重了,我不确定解决方案被改编)。但是当我尝试所有这些解决方案并尝试使它们适应我的情况时,我得到错误或循环引用。
当您在查询编辑器中构建查询时,它是分步完成的。为了避免循环引用,您需要确保创建自定义列的步骤引用了上一步而不是查询名称。
例如,如果我的查询名为 Table01
并且我尝试编写此自定义列公式
= if List.Contains(Table01[Column B], [Column A]) then "Yes" else "No"
然后我会得到一个循环引用错误,因为查询名称引用了最后一步的结果。
但是,如果我之前的步骤被命名为#"Changed Type"
,那么我可以这样写
= if List.Contains(#"Changed Type"[Column B], [Column A]) then "Yes" else "No"
而且效果很好。
我在 table 中有 Column A
和 Column B
:
我想创建一个计算列,如果 Column A
中的字母在 Column B
中找到,则显示 "Yes",如果不是这种情况,则显示 "No"(在电源查询中,所以在语言 M 中)。
我已经阅读了很多关于计算函数、过滤 table、搜索函数等的内容(甚至将 table 与其自身合并,但我的文件已经很重了,我不确定解决方案被改编)。但是当我尝试所有这些解决方案并尝试使它们适应我的情况时,我得到错误或循环引用。
当您在查询编辑器中构建查询时,它是分步完成的。为了避免循环引用,您需要确保创建自定义列的步骤引用了上一步而不是查询名称。
例如,如果我的查询名为 Table01
并且我尝试编写此自定义列公式
= if List.Contains(Table01[Column B], [Column A]) then "Yes" else "No"
然后我会得到一个循环引用错误,因为查询名称引用了最后一步的结果。
但是,如果我之前的步骤被命名为#"Changed Type"
,那么我可以这样写
= if List.Contains(#"Changed Type"[Column B], [Column A]) then "Yes" else "No"
而且效果很好。