如何根据行名加入两个Tableau工作表

时间:2019-06-07 06:04:39

标签: python join merge tableau tableau-server

在Tableau中,如何按行名联接两个工作表结果?

原始数据集:

   ad_storeid     num_ads   sales_storeid   num_sales
----------------------------------------------------------------
       1            20             1             50
       1            30             2             70
       3            20           null           null
      null         null            4             80   

df1:通过ad_storeid总计num_ads:

ad_storeid      num_ads
    1              50
    3              20 

df2 :按sales_storeid的总销售次数:

sales_storeid   num_sales
    1               50
    2               70
    4               80

假设我在工作表1中有df1,在工作表2中有df2,如何合并Tableau中的两个表?

预期结果:

store_id   num_ads   num_sales
   1         50         50
   2        null        70
   3         20        null
   4        null        80

我知道如何在Python中执行此操作,但是如何在Tableau中执行此操作?我不能在一个工作表中使用统一的“ storeid”。

1 个答案:

答案 0 :(得分:0)

您可以在单个工作表中执行相同的操作,而不是链接两个工作表。请尝试以下方法:

创建一个计算store_ID并在下面的代码中编写并放在行中:

IF ZN(INT([Ad Storeid])) = ZN(INT([Sales Storeid]))
THEN [Ad Storeid]
ELSEIF ZN(INT([Ad Storeid])) < ZN(INT([Sales Storeid])) 
THEN [Sales Storeid]
ELSEIF ZN(INT([Ad Storeid])) > ZN(INT([Sales Storeid]))
THEN [Ad Storeid]
END

现在为num_ads创建另一个计算num_ads并编写以下代码:

IF ZN(INT([Ad Storeid])) = ZN(INT([Store_ID]))
THEN { FIXED [Ad Storeid] : SUM([Num Ads])}
ELSE
NULL
END

对于num_sales,再创建一个计算num_sales并编写以下代码:

IF ZN(INT([Store_ID])) = ZN(INT([Store_ID]))
THEN [Num Sales]
ELSE
NULL
END

enter image description here