POINT問答 | Out join
數據融合是tableau一個最大技能(也許沒有之一)。所謂數據融合就是,通過公共欄位將兩張或多張表連接到一起。
一、了解數據
先來了解今天的實驗數據:
公司銷售團隊有兩張統計表:
- 表1是名字是Opportunity,代表潛在銷售機會的用戶
- 表2是名字是Lead,表示已經產生銷售業績的用戶
二者關係如下:
Case 1
當表1 Opportunity上的用戶(潛在客戶),最終產生了實際銷售,則這位客戶就被轉移到表2來記錄,每一位用戶攜帶一個唯一標示,Opportunity ID
Case 2
產生實際銷售不一定全是在潛在客戶中產生,也有直接購買產品進入表2的,但是這類用戶不攜帶Opportunity ID,為空
如下是表1,特徵是用戶都有Opportunity ID
如下是表2,有的直接訂單用戶不存在Opportunity ID
二、數據融合
現在我們需要將兩張表通過特定的結合方式,組成一張表。無論是tableau、或者是資料庫、SQL、Excel,都涉及表擴展的融合方式。
有四種方式:
- 內部
- 左側
- 右側
- 完全外部
第一種 內部 Inner
所謂的Inner,就是兩張表作為各自的集合,只有交集部分保留,其餘部分丟棄。
從表1進入表2的有5條數據,這5條就是交集。
其餘部分丟棄
第二種 左側
所謂的左側,就是左邊的表具有最高優先順序,保留左邊表1的全部
表2中不能進入表1,丟棄
第三種 右側
所謂的右側,與上邊的左側相反,右邊的表具有最高優先順序,保留表2的全部。
表1中不能進入表2的丟棄。
第四種 全部
第四種是保存全量數據的方式,表1、表2全部保留。
比如表2中沒有Opportunity ID的數據,則置為空。
三、融合後的輸出預處理
4種方式中,除了1是完全交集,其它3種,都會產生未能匹配的空值,在正式分析之前,還有事情要做:
- 欄位的合併處理
- Null值處理
看一下使用Out join組合的數據,可以看到:相同的欄位出現在兩張表中,會分別以表名字保存為兩個欄位。
並沒有產生這樣的表(理想情況)
這時候,我們需要計算欄位來幫組合分散在兩個欄位的同一個欄位(有點繞口)。
它是IFNULL,我們來告訴計算機,遇到空值時,該做什麼。創建計算欄位如下:
注釋,如果Customer(Leads)中有Null,則Customer代替。
將新的計算欄位拖入視圖,完美
同樣方法,再來處理ID的欄位:
ID欄位,因為表2的一部分用戶數據是直接產生的訂單,不含Opportunity ID
當前視圖是這樣的:存在Null空值
有Null不好看,來寫這個計算欄位:
注釋,如果Opportunity ID中有Null,則用空白代替。
兩個單引號代表空白。
這樣好多了
全部處理好各個欄位後,匯總如下視圖
當然可以在進一步美化一下,創建子彈Chart,使用顏色分類。
Peace!
更多內容請關注POINT .小數點的微信公眾號:POINT 小數點數據
推薦閱讀:
※一張象棋圖看懂鹿豹座平台的業務內容
※惠眾在線行業情報|互聯網改變下的傳統節日
※泰坦尼克號數據分析報告
※Titanic生存預測(五)
※第一關——數據分析社群之實踐計劃