如何使用关键字列表(在其他表的列中)过滤Power BI表

时间:2019-05-30 18:12:11

标签: powerbi dax

我有一个大数据表,其中有一列称为“帐户名称”。在另一个表( Accounts )中,我有一列“帐户关键字”,其中包含部分完整的帐户名称。我想使用“帐户关键字”列表中的关键字列表按“帐户名称”列过滤大数据。

我已使用以下DAX在大数据表中创建了一个名为“过滤器帐户”的新指标:

FILTER ACCOUNTS = contains(Accounts,Accounts[Account Keyword],Big_Data[Account Name])

但是“包含”功能可用于完全匹配。如果要在“帐户名称”字段的任何部分中找到“帐户关键字”,我希望它返回true。我也希望它忽略大小写。

仅当完全匹配时,DAX语句的结果为TRUE。如何修改DAX以实现所需的不完全匹配?

1 个答案:

答案 0 :(得分:0)

DAX具有两个用于文本匹配的功能,CONTAINSSTRINGCONTAINSSTRINGEXACT,后者区分大小写,而前者不区分大小写。

您可以通过在Account Name表上写一个这样的计算列来找到与Big_Data匹配的关键字:

Keyword Matches =
COUNTROWS (
    FILTER (
        Accounts,
        CONTAINSSTRING ( Big_Data[Account Name], Accounts[Account Keyword] )
    )
)

要获取TRUEFALSE的输出而不是计数,只需附加> 0即可查看计数是否为正值。

Match Exists =
COUNTROWS (
    FILTER (
        Accounts,
        CONTAINSSTRING ( Big_Data[Account Name], Accounts[Account Keyword] )
    )
) > 0