Соедините два источника данных вместе без объединения в таблицу

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

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

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

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

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

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

ВЫБЕРИТЕ A. * ИЗ таблицы A A ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБЕРИТЕ DISTINCT ID ИЗ ТАБЛИЦЫ B, ГДЕ Поле X IN (динамический выбор из таблицы) И поле Y IN (динамический выбор из таблицы)) B ON A.ID = B.ID

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

Спасибо!!


person pau.ferrer    schedule 13.11.2014    source источник


Ответы (1)


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

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

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

person Inox    schedule 13.11.2014
comment
К сожалению, это мне не поможет, так как отношение 1: n будет дублировать строки из таблицы A. - person pau.ferrer; 13.11.2014
comment
Только во втором способе. При смешивании данных у него не будет этой проблемы - person Inox; 13.11.2014
comment
Я проводил проверки, и он делает то, что вы говорите. Спасибо - person pau.ferrer; 26.11.2014