DAX公式,可在文本字符串中查找特定的单词和单独的单词

时间:2018-11-24 21:04:02

标签: dax powerpivot

我有一个包含文本('TextString'[Text])的表,并且需要一个计算列中的DAX公式,该公式可以找到从另一个表'Matchlist'[Keyword]中提取的特定单词。

但是,当在字符串中找到关键字作为另一个单词的一部分时,公式必须忽略实例。例如,文本字符串“ Modification Cost”包含关键字“ cat”,但应将其忽略,因为它是另一个单词“ modification”的一部分,而不是单独的单词。

您能帮我修改以下公式,以便将这个额外要求考虑在内吗?

=IF(
  SUMX('Matchlist',
       FIND(
            UPPER('Matchlist'[Keyword]),
            UPPER('TextString'[Text])
            ,,0
           )
      ) > 0,
  "YES",
  "No"
 )

我正在使用Power Pivot和Excel365。谢谢!

1 个答案:

答案 0 :(得分:1)

一种方法可能是使用“数据”视图中的“编辑”查询将原始文本拆分为单独的列,然后使用定界符(可以为“”)拆分列。

然后您可以按照以下方式使用COUNTROWS:

    =CALCULATE (
    COUNTROWS ( 'MatchList' ),
    UPPER ( 'TextString'[Text] ) = UPPER ( 'MatchList'[Path1] )
        || UPPER ( 'TextString'[Text] ) = UPPER ( 'MatchList'[Path2] )
        || UPPER ( 'TextString'[Text] ) = UPPER ( 'MatchList'[Path3] )
        etc...
)