我有一个大数据表,其中有一列称为“帐户名称”。在另一个表( Accounts )中,我有一列“帐户关键字”,其中包含部分完整的帐户名称。我想使用“帐户关键字”列表中的关键字列表按“帐户名称”列过滤大数据。
我已使用以下DAX在大数据表中创建了一个名为“过滤器帐户”的新指标:
FILTER ACCOUNTS = contains(Accounts,Accounts[Account Keyword],Big_Data[Account Name])
但是“包含”功能可用于完全匹配。如果要在“帐户名称”字段的任何部分中找到“帐户关键字”,我希望它返回true。我也希望它忽略大小写。
仅当完全匹配时,DAX语句的结果为TRUE。如何修改DAX以实现所需的不完全匹配?
答案 0 :(得分:0)
DAX具有两个用于文本匹配的功能,CONTAINSSTRING
和CONTAINSSTRINGEXACT
,后者区分大小写,而前者不区分大小写。
您可以通过在Account Name
表上写一个这样的计算列来找到与Big_Data
匹配的关键字:
Keyword Matches =
COUNTROWS (
FILTER (
Accounts,
CONTAINSSTRING ( Big_Data[Account Name], Accounts[Account Keyword] )
)
)
要获取TRUE
或FALSE
的输出而不是计数,只需附加> 0
即可查看计数是否为正值。
Match Exists =
COUNTROWS (
FILTER (
Accounts,
CONTAINSSTRING ( Big_Data[Account Name], Accounts[Account Keyword] )
)
) > 0