首页 > 解决方案 > 在 DAX 中搜索关键字

问题描述

我正在尝试在 Power BI 中创建一个列,该列在表的列中搜索关键字并返回一个类别。

例如:在表 1 中有一个带有反馈的列,如果它包含表 2 的关键字列中的任何关键字(定期更新),则返回 TRUE 值。

如果关键字是句子中的唯一单词,例如“product broken after using it once”,则以下代码效果很好,如果查找关键字“broke”并且用作句子中唯一单词的单词“broke”返回 TRUE,则返回 FALSE

Column = if(
CONTAINS(Products,Products[feedback],RELATED(feedbackList[keywords]))
,"TRUE","FALSE")

所以基本上它只有在值完全匹配而不是作为句子的一部分时才返回。

我希望有人可以帮助,提前谢谢

标签: searchpowerbicontainskeyworddax

解决方案


假设您在 TableA 中创建计算列,您已经在 TableA 中有一个过滤器上下文,因此您只需遍历 TableB 即可获得所需的描述。

让我知道以下是否有效:

ColumnMeasure =

calculate(

if(

countrows(values('Table B'[Colmn B2]))>1,

"More than 1 classification found",

values('Table B'[Colmn B2])

),

filter(

all('Table B'[Colmm B1]),

search('Table B'[Colmn B1],'Table A'[Colmn A1],1,0)<>0

  )

)

这里还有更多类似的例子:

http://sqlblog.com/blogs/marco_russo/archive/2011/12/30/string-comparison-in-dax.aspx


推荐阅读