Как можно объединить две таблицы Tableau на основе имени строки - PullRequest
0 голосов
/ 07 июня 2019

В Таблице, как я могу объединить два результата листа по имени строки?

исходный набор данных:

   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: sum num_ads by ad_storeid:

ad_storeid      num_ads
    1              50
    3              20 

df2: sum num_sales by sales_storeid:

sales_storeid   num_sales
    1               50
    2               70
    4               80

Предположим, я получил df1 на рабочем листе1 и df2 на рабочем листе2, как я могу объединить две таблицы в Таблице?

Ожидаемый результат:

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

Я знаю, как это сделать в Python, но как я могу это сделать в Tableau?Я не могу использовать унифицированный 'storeid' на одном листе.

1 Ответ

0 голосов
/ 09 июня 2019

Вместо того, чтобы связать две таблицы, вы можете выполнить одну и ту же таблицу.Попробуйте следующий подход:

Создайте расчет 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

...