首页 文章

将两个数据源连接在一起,而无需在Tableau中加入

提问于
浏览
7

我在画面中有两个数据源(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

这样的事可能吗?

谢谢!!

1 回答

  • 4

    还有第三种选择,根据表格的大小,可以很好 . 使用Tableau数据混合 . 使用Id字段在2个表(数据 - >编辑关系)之间创建链接 .

    现在将您想要的信息从表A拖到工作表,然后将字段X和字段Y拖到过滤器 . 瞧 .

    如果表太大(特别是表B),您可能需要事先加入 . 但是这可能会导致重复的条目问题(如果B中A中的每个条目都有多个对应关系) . 左连接更可取(并且没有过滤器)

相关问题