跳到主要內容

快速了解 Tableau New Data Model - Relationship

曾經,你因為使用Join之後造成數據重複,每次都需要透過LOD計算得出正確數據;

曾經,你使用Blending來關聯不同粒度層級的數據,但又常常被聚合/非聚合計算給限制住;

曾經,你同時使用了 Join & Blending 但卻無法發布為Tableau數據源來重複使用;

這些曾經的不便,在Tableau 2020.2有了改變。

 

前幾天推出的Tableau 2020.2版本帶來了全新的數據建模功能 – Relationship

新的Relationship功能改變了Tableau數據建模的方式,在不同的數據表間僅定義資料的關聯,但不定義連接(Join)的方式

Relationship的建模方式下,隨時根據視圖分析內容需要的維度與度量來決定資料連結方式(Join),使得資料的連接變得相當彈性。

而且可以自動判斷資料的詳細級別進行聚合計算,避免數據重複造成的計算錯誤,也省掉了建立LOD來修正計算的工作。

此外,Relationship也可以當作一個數據來源進行發布,無論是Live or Extract 都能使用。

 

對非資訊出身的Tableau使用者,使用全新的Relationship來進行資料建模相當程度的減少了學習資料連接的門檻,能更快更容易的使用資料。

對於組織內負責管理與提供資料的IT來說,相同的分析需求下全新的Relationship可以用一個數據來源來解決以往需要複雜數據連接,甚至還需要混合數據的資料模型。提升了數據來源的可共用性,減輕了數據管理的複雜度,更可減少重複的數據儲存。


 新的Relationship Data Model分為logical layerphysical layer

https://help.tableau.com/v2020.2/pro/desktop/en-us/datasource_datamodel.htm

(https://help.tableau.com/v2020.2/pro/desktop/en-us/datasource_datamodel.htm)

Physical layer等同於過往版本的Tableau數據模型,可以在這邊進行標準的數據連接(Join),跨數據源連接(Cross-Database-Join),資料合併(Union)動作。

如果是從舊版本製作的數據源在2020.2之後版本開啟後,就會發現原本數據源會被一個Logical Table取代,需進入到physical layer才可以看到原本的資料連接與合併。

Logical layer則是這次新功能的重心。不同的logical table之間只透過麵條(Noodles)表示之間的可用關聯,這部份如果用過blending會比較容易了解其特性。

不同的logical table之間只會定義可以關聯的欄位,所以當視圖內沒有引用到該logical table內的欄位時Tableau的查詢與計算就完全無關於它。

如果視圖內用到了不同logical table內的欄位,Tableau則會根據它們之間的relationship自動以適合的詳細級別計算與關聯。

舉個很簡單的例子

某零售店有ProductOrderForecast 3個資料表如下

在沒有Relationship功能之前,若要比較實際銷售與Forecast之間的差距,我們可以有兩種做法

1.          需要先將Order Table join Product Table & Forecast Table,然後透過LOD計算修正Forecast 數值

2.          Order Table join Product Table,另外連接Forecast Table 然後透過 Blending 關聯起來,再建立銷售差距的聚合計算。

Tableau 2020.2之後,我們只需要將這三個Table都拖拉進入畫布內建立關係,就可以開始進入工作表分析

不同的Logical Table內的欄位以資料夾方式分開顯示,Number of Records變成Logical Table(Count)Calculation Field 如果沒有跨Logical Table會在Table資料夾內,如果Calculation Field內欄位跨Logical Table則會在Data Pane的最下方

如果需要計算產品銷售金額,只需要建立一個計算如下就可以得出

如果要與Forecast比較,可以在寫另一個計算,在這邊你會看到Forecast數字並沒有重複的問題,因為Tableau自動判斷了聚合等級


以上簡單的說明Relationship與以前版本的差別,大部分情況來說是很方便。

但還是得要留意何時需要使用聚合計算,注意logical Layer的關聯結構等

Tableau官方有多篇文章詳細說明Relationship,我推薦以下兩篇可以詳讀

https://help.tableau.com/v2020.2/pro/desktop/en-us/datasource_datamodel.htm

https://help.tableau.com/v2020.2/pro/desktop/en-us/datasource_datamodel_whatschanged.htm

另外這一篇有一個範例數據跟情境,可以實作練習

https://help.tableau.com/v2020.2/pro/desktop/en-us/datasource_dont_be_scared.htm

留言

這個網誌中的熱門文章

[HowTo] 怎樣才能畫出環圈圖(甜甜圈)

首先呢,要有個圓餅圖(Pie Chart) 接下來,在Rows上以滑鼠左鍵雙擊輸入數字"0",輸入後Tableau會建立一個SUM(0)

[HowTo] 地址批次轉換為經緯度

兩個我知道可以批次轉換地址為經緯度的網站 Batch Geocoding 這網站是透過 Google Map API, 因為非商用 google 是有限制的。 實際再用時當一次轉換筆數過多時中間容易會有失敗的現象 , 筆數越多失敗率越高

[HowTo] 用Tableau來繪製雷達圖

雷達圖 (Radar Chart) 經常被使用在需要同時評估多重指標時,例如戰力圖、財務狀態綜合指標、品質管制分析、員工能力分析等等 在 Tableau 最簡單要繪製雷達圖的方式是先將相關指標值轉換為 (x 、 y) 座標標示,在 Tableau 利用 polygon 將指標依序連接起來,最後放上一個雷達圖的底圖。

[HowTo] 關於排序的幾種方式 - 參數控制

排序 (sorting) 在做數據分析時經常會被使用。 在 Tableau 的設計中,簡單的排序只要畫面上點選就可以做到。 但有時候,設計者希望能透過參數的選擇方式,讓閱讀者能夠點選或切換排序依據。 這時候就需要一些稍微進階的作法。 這篇會說明透過參數與計算字段方式來產生動態的排序。 (update at 2020/04/24) 範例一 :  顯示各年度次類別的銷售,並可選擇依據哪個年度排序,且選擇遞增或遞減排列 如何做呢 ? 建立兩個參數,一個是年度,另一個是昇降冪 建立計算字段 計算字段如下,主要是透過一個邏輯判斷僅保留下參數選定的年度的Sales,然後乘上參數(+1/-1)來改變排序方向 最後在 Sub-Category 的排序中選擇以剛剛的計算字段作為排序依據 完成後如下 : 範例二 : 主要維度需要可以選擇 ( 次分類、洲或者區域與產品分組 ) 顯示銷售、利潤與毛利率,並可依據其中一項度量作為排序依據且選擇遞增或遞減排列。 如何做呢 ? 分別建立主欄位、度量、昇降冪的參數 建立計算字段  A.  建立維度的選擇計算字段如下 建立排序用的計算字段B,透過邏輯判斷先選擇度量的參數, 然後乘上參數(+1/-1)來改變排序方向 最後在前面創建的主欄位選擇維度(A)的排序中選擇剛剛的計算字段B 完成後如下 :

[HowTo] 用甜甜圈來呈現目標達成率

如何用環狀圖(甜甜圈)來呈現如下圖的單一個目標達成率的數字呢? 其實方法就是,用兩個數字XDDDD 如果你的數據跟我的Sample一樣已經有目標值(Goal) & 實際值(Sales),就要先算出與目標值的差距數值 如果你的數據已經是達成率,那就做一個 1-[達成率] 的計算字段來代替 接下來一樣是先選擇做一個Pie Chart, 但這時候是將Measure Names放到Color,然後將Measure Values 放到Angle Measure Values 只保留SUM(Sales) & SUM(Gap to Goal)兩項 再來就可以透過前一篇提到的甜甜圈作法,用雙軸的方式產生出一個小圓覆蓋在Pie Chart上面 最後調整顏色 & 格式 &文字,然後需要的話可以將數值顯示在中間 那整個完成後的視圖如下: