Количество вхождений подстроки в таблице

#tableau-api

#таблица-api

Вопрос:

У меня есть столбец с несколькими словами, разделенными запятой. Я хотел бы подсчитать количество вхождений каждого слова следующим образом —

 animals      count_cats  count_dogs
cats             1           0
cats,dogs        1           1
dogs,cats,dogs   1           2
 

Как мне добиться этого в таблице?

Я создал вычисляемое поле, следуя инструкциям здесь — https://kb.tableau.com/articles/howto/counting-occurrences-of-a-string-within-a-dimension — но это вернет либо 1, либо 0, поскольку функция CONTAINS возвращает True или False.

Заранее благодарю.

Ответ №1:

Вы можете сделать так.

Для count_dogs использования этого вычисления вместо

 (LEN([Animals])-
LEN(REPLACE([Animals], 'dogs', '')))/
LEN('dogs')
 

введите описание изображения здесь

Вы также можете выполнить параметрический подсчет, используя следующее вычисление ( param является параметром)

 (LEN([Animals])-
LEN(REPLACE([Animals], [param], '')))/
LEN([param])

 

введите описание изображения здесь

или

введите описание изображения здесь

Комментарии:

1. Рад, что это помогло. Пожалуйста, проголосуйте, как обычно требуется для SO.