#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. Попробуйте сначала принять его, это поможет вам получить некоторую репутацию, а затем попробуйте проголосовать за него.