检查B列中的值是否存在于A列中

时间:2019-10-08 15:16:04

标签: powerbi powerquery

在Power BI中使用Power Query,我需要检查MyTable的每一行,如果B列中的值是否存在于A列中。

如果确实如此,则应在新列上返回该值,然后应在该列上返回一个空字段。

这是我试图以某种方式输入if语句的代码:

Table.Contains(MyTable,[B],[A])

正在重现周期性参考错误。

2 个答案:

答案 0 :(得分:0)

一种简单的方法是仅合并表本身

主页..合并查询...并将Table1合并到Table1(当前),然后单击顶部的ColumnB和底部的ColumnA。使用新列顶部的箭头扩展结果,然后仅选择[x] ColumnA。

示例代码

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Merged Queries" = Table.NestedJoin(Source,{"Column2"},Source,{"Column1"},"Source",JoinKind.LeftOuter),
#"Expanded Source" = Table.ExpandTableColumn(#"Merged Queries", "Source", {"Column1"}, {"Column1.1"})
in #"Expanded Source"

答案 1 :(得分:0)

我不知道您想在哪里获得这些结果,因此我只是将其作为理论样本表的补充列。

给出此表:

enter image description here

这段代码:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Added Custom" = Table.AddColumn(Source, "C", each if List.Contains(Source[A], [B]) then [B] else null)
in
    #"Added Custom"

给出以下结果:

enter image description here