Формула DAX, которая находит конкретные и отдельные слова в текстовой строке - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть таблица, содержащая текст ('TextString' [Text]), и мне нужна формула DAX в вычисляемом столбце, в котором можно найти конкретные слова, взятые из другой таблицы "Matchlist" [Keyword].

Однако формула должна игнорировать случаи, когда ключевое слово находится в строке как часть другого слова.Например, текстовая строка «Стоимость модификации» содержит ключевое слово «кошка», но его следует игнорировать, поскольку оно является частью другого слова «модификация» и не является отдельным словом.

Не могли бы вы помочь мне изменить приведенную ниже формулу, чтобы она учитывала это дополнительное требование?

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

Я использую Power Pivot и Excel 365. Спасибо!

1 Ответ

0 голосов
/ 25 ноября 2018

Одним из способов может быть разделение исходного текста на отдельные столбцы с помощью запросов «Редактировать» в представлении данных и «Разделить столбец по разделителю» (который может быть «»).

Затем можно использовать COUNTROWS что-то по строкамиз

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