Как отфильтровать столбец в соответствии со значениями другого столбца в таблице

#filter #tableau-api

#Фильтр #tableau-api

Вопрос:

Предположим, что мой запрос равен ‘A’ для следующей таблицы. Я хочу найти любое значение ‘c_index’, соответствующее ‘A’, а затем получить все строки таблицы, которые имеют соответствующие значения ‘c_index’.

Имя узла c_index
A 1
B 1
A 2
C 2
B 3
D 3
C 4
E 4

Значения ‘c_index’, соответствующие ‘A’, равны {1, 2}. Таким образом, желаемый результат фильтра:

Имя узла c_index
A 1
B 1
A 2
C 2

Как я могу выполнить эту фильтрацию в таблице?

Что я попробовал: определил фильтр для ‘c_index’ (т. Е. Перетащите ‘c_index’ на полку фильтров). А затем я попытался определить условие для фильтра следующим образом: [Имя узла] = ‘A’ .

Но он выдает ошибку: «Формула должна быть агрегированным вычислением или относиться только к этому полю».

Ответ №1:

Сначала соедините таблицу (данные) с самой собой в столбце, который вы хотите вернуть связанными значениями. В примере c_index .

Теперь в вашей панели данных будет два одинаковых набора данных.

Добавьте node из первого набора данных в фильтр, node из второго набора данных для просмотра и c_index из любого для просмотра. Вы получите то, что хотите. Смотрите GIF ниже

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

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

1. Большое вам спасибо за вашу помощь и ответ. Еще один быстрый вопрос: какой тип соединения должен выполняться?

2. И из GIF кажется, что он не работает должным образом, когда вы фильтруете для B.

3. Полное объединение в таблице. Если вы внимательно посмотрите, он правильно фильтрует для B (A B B D). ЕСЛИ вы не можете присоединиться, пожалуйста, сообщите. Поскольку вы объединяете таблицу с самой собой, результаты будут одинаковыми для всех объединений. Если это послужило цели, пожалуйста, примите и проголосуйте, как обычно требуется для SO.

4. Я сделал это. По какой-то причине он просто не показывает его!

5. Попробуйте сначала принять его, это поможет вам получить некоторую репутацию, а затем попробуйте проголосовать за него.