我在画面中有两个数据源(A和B) . 关系是1:n . 表A(主表),列ID(主键),字段1,字段2 ....表B列ID(不是PK),字段X,字段Y.
我想使用表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 INNER JOIN(从表B中选择DISTINCT ID)字段X IN(从Tableau动态选择)和字段Y IN(从Tableau动态选择)B ON A.ID = B.ID
这样的事可能吗?
谢谢!!