Соедините два источника данных вместе без соединения в Tableau

У меня есть два источника данных в таблице (A и B). Соотношение 1: n. Таблица A (основная таблица) с идентификатором столбцов (первичный ключ), поле 1, поле 2... . Таблица B со столбцами ID (не PK), поле X, поле Y.

Я хочу использовать таблицу B для фильтрации по полю X и Полю Y, а затем в связанном листовом графике данных из таблицы A с фильтром, который в SQL будет эквивалентен тому, где A. ID IN (выберите B. ID из таблицы B) , где таблица B уже будет отфильтрована по значениям поля X и поле Ю.

после некоторых исследований я нашел два варианта, которые меня не убеждают:

1: Используйте общее внутреннее соединение между двумя таблицами, а затем используйте функции агрегирования, такие как AVG и COUNT DISTINCT по показателям таблицы A, чтобы избежать дублирования.

Вариант 2: Используйте пользовательский SQL для таблицы A на основе параметра, отправляемого из таблицы Tableau и таблицы фильтра A на уровне базы данных.

лучшим вариантом было бы соединение между источниками в следующей структуре

выберите А.* Из таблицы tablea, а внутреннее соединение (выбрать различные ID из таблицы Б, где поле X в (динамический выбор из таблицы) и поля Y в (динамический выбор из таблицы) ) Б на А. = Б. код

возможно ли такое?

спасибо!!

1 ответов


есть третий вариант, который может быть достаточно хорошим, в зависимости от размеров вашего стола. Используйте Смешивание Данных Таблицы. Создайте связь между 2 таблицами (Data -> Edit Relations), используя поле Id.

теперь перетащите нужную информацию из таблицы A на рабочий лист, затем перетащите поле X и поле Y для фильтрации. Вот.

Если таблицы слишком большие (особенно таблица B), вы можете присоединиться к заранее. Но это может вызвать проблему с дублированными записями (если есть более одного соответствия каждой записи в A на B). Левое соединение более целесообразно (и без фильтров)