【发布时间】:2015-01-10 15:35:12
【问题描述】:
我在 tableau 中有两个数据源(A 和 B)。关系为 1:n。表 A(主表),列 ID(主键)、字段 1、字段 2...。具有列 ID(不是 PK)、字段 X、字段 Y 的表 B。
我想使用表 B 按字段 X 和字段 Y 进行过滤,然后在相关的工作表中绘制表 A 中的数据,使用 SQL 中的过滤器将等同于 WHERE A.ID IN (SELECT B.ID FROM TableB B) 表 B 已经被字段 X 和字段 Y 的值过滤。
经过一番研究,我发现了两个不能说服我的选择:
选项 1: 使用两个表之间的公共内连接,然后对表 A 的度量使用 AVG 和 COUNT DISTINCT 等聚合函数以避免重复。
选项 2: 根据从 Tableau 发送的参数对表 A 使用自定义 SQL,并在数据库级别过滤表 A。
最好的选择是在以下结构中的源之间进行连接
SELECT A.* FROM tableA A INNER JOIN (SELECT DISTINCT ID FROM TABLE B WHERE Field X IN (Dynamic selection from Tableau) AND Field Y IN (Dynamic selection from Tableau) ) B ON A.ID = B.ID
这样的事情可能吗?
谢谢!!
【问题讨论】:
标签: tableau-api