iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
AI & Data

Tableau 輕鬆學系列 第 18

[Day18] Tableau 輕鬆學 - Relationships 與 Joins

前言

我們在實作中學會如何建立工作表與儀表板,並在儀表板中讓多個工作表可以連動,使資料呈現方式多樣化。現在,讓我們停下腳步,回過頭來學習如何將匯入的多個資料表關聯起來,這是資料視覺化流程中最一開始的工作。在 Tableau Desktop 中關連的方式分為 Relationships 與 Joins 兩種,這裡會分享這兩種關聯的差異與建立方式。

Relationships

Relationship 為表與表之間的關係,當我們將其中一張表拿來做視覺化,另外張表會根據這裡設定的 Relationship 來提供相對應數據。設定 Relationship 時,我們只需提供關係欄位 (可以多個欄位),Tableau Desktop 會感知關聯類型,不需要我們親自指定。

官方建議使用 Joins 之前,先嘗試使用 Relationships 來建立關聯。

建立 Relationships

我們同樣以 Sample - Superstore 為資料來源,開啟一個全新的 Tableau Desktop 工作簿並回到 Data Source 頁面,將 Logical Layer 中的三個資料表 (Orders、People、Returns) 全部移除,移除的方法很簡單,點擊資料表右鍵並選擇 Remove 即可移除

移除 Logical Layer 中的資料表

接下來我們要建立 Relationships,只需將資料表依照 Orders、People、Returns 順序拖曳到 Logical Layer 中,Tableau Desktop 會自動偵測表中的欄位,幫我們對應並以 Relationship 的方式關聯,當然我們也可以自己設定要用來關聯的欄位。完成之後,讀者可能會發現其實就跟剛開啟 Sample - SuperstoreLogical Layer 長的一樣!沒錯,這裡只是利用這個範例來說明 Relationships 是如何建立起來的

建立 Relationships

Joins

Joins 是我們熟知的 Inner JoinLeft JoinRight JoinFull Outer Join 的通稱,需要手動指定 Join 形式與 Join 欄位,Joins 會將所有參與 Join 關聯的資料表合併為一張資料表。

建立 Joins

首先讓 Logical Layer 只剩下 Orders 資料表,並左鍵雙擊 Orders 資料表,Orders 資料表會被展開並佔滿 Logical Layer,再拖曳 People 與 Returns 資料表至 Logical Layer 中的 Orders 資料表內,預設會以 Inner Join 方式來關聯,但我們可以點擊 Venn Diagram 來編輯關聯方式與關聯欄位

建立 Joins

Logical Layer 顯示差異

最後,觀察 Relationships 與 Joins 在 Logical Layer 中的表示方法,Joins 的資料表在名稱前會有 Venn Diagram,且 3 張資料表 Join 完之後就會視為是一張表;而以 Relationships 對 3 張資料表做關聯,還是會分為獨立的 3 張資料表,只是這 3 張資料表彼此之間有了連接線,等同它們之間的 Relationship

Relationships (左) vs Joins (右)

結語

若 Relationships 與 Joins 都可以滿足關聯要求,會優先選擇 Relationships 來使用。還有一點要提醒的是,一個專案的資料表關聯並非只能 Relationships 與 Joins 擇一使用,Tableau Desktop 是允許這兩種關聯混用的,整體來說彈性非常高。

參考文獻

  1. How Relationships Differ from Joins

上一篇
[Day17] Tableau 輕鬆學 - 美化儀表板外觀
下一篇
[Day19] Tableau 輕鬆學 - Data Extract
系列文
Tableau 輕鬆學30

尚未有邦友留言

立即登入留言