У меня есть два источника данных в таблице (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
Возможно ли такое?
Спасибо!!