數據整合
完成與數據源的連接后,需要對來自不同數據源、多個數據表的數據進行融合、聯接等操作,同時還要選擇適合的數據整合方式,本節內容包括:
- 數據聯接
- 數據合並
- 數據加載
數據聯接
聯接字段
當需要從多個數據表中獲取數據,則要用到數據聯接操作。為了操作直觀、簡單,繼續使用自制的數據集demo,包括“書籍”和“作者”兩張數據表,其中,“書籍”數據表包含書名、作者、作者ID、出版社4個字段,“作者” 數據表包含作者、作者ID、國籍3個字段”。
圖:數據集demo數據表
如果打算分析書名、作者以及作者國籍的有關情況,就要將兩張表連接在一起,這兩張表有兩個相同字段,分別是“作者”和“作者ID”,一般在進行數據連接時,如果既有名稱又有ID,通常會選擇與ID有關的字段作為連接字段,因此,上面兩張表就通過“作者ID”進行聯接。
聯接方式
目前,tableau中的數據聯接方式分為四種,分別是內聯接、左聯接、右聯接和完全外部聯接。通常情況,tableau會自動判斷兩張表的同類字段並進行關聯,如果關聯不正確,可以通過手動方式進行關聯。
圖:tableau中的四種聯接方式
- 內聯接
使用內聯接合並數據表時,生成的新表僅保留兩張數據表中具有相同關鍵字段的行。
對上面數據集demo的兩張數據表使用內連接,生成的新表將兩張數據表中,具有相同“作者ID”的行合並在一起,其余行則被剔除在外(作者ID從A015-A022被剔除在外,紅色虛線框部分)。
圖:內連接示例
- 左聯接
使用左聯接時,生成的新表包含左側表中所有值以及右側表中相對應的匹配值。
使用左聯接后,生成的新表包含了“書籍”數據表中的所有行,並與“作者”數據表中,具有相同作者ID的行合並在了一起。需要注意的是,如果右側表(“作者”數據表)中,沒有與左側表(“書籍”數據表)相匹配的項,合並后的新表中,對應數據網格則會顯示null。
圖:左聯接示例
- 右聯接
使用右聯接時,生成的新表包含右側表中所有值以及左側表中相對應的匹配值。
與左聯接正好相反,使用右聯接后,生成的新表包含了“作者”數據表中的所有行,並與“書籍”數據表中,具有相同作者ID的行合並在了一起。需要注意的是,如果左側表(“書籍”數據表)中,沒有與右側表(“作者”數據表)相匹配的項,合並后的新表中,對應數據網格則會顯示null。
圖:右聯接示例
- 完全外部聯接
使用完全外部連接時,生成的新表將包含兩個表中的所有值。采取這種方式時,如果一張表的值在另一張表中沒有匹配項,則在對應數據網格中顯示為null。
使用完全外部聯接后,生成的新表包含了“作者”數據表中的所有行,以及“書籍”數據表中的所有行,同時將兩個數據表中,作者ID相同的行合並在了一起。在“書籍”或“作者”數據表的任一行中,如果以作者ID為關鍵字段匹配不到任何項,則會在對應數據網格中顯示為null。
圖:完全外部聯接示例
數據合並
當需要將有多張數據結構一致的表格整合匯總在一起時,則可以使用數據合並。對於數據聯接和數據合並的簡單理解,數據聯接是橫向擴展數據表的字段,縱向的數據行數不會變得更多,而數據合並正好相反,它是縱向增加數據行數,橫向的數據表字段不會變得更多。
要進行數據合並操作,每個表必須具有相同的字段數,並且相關字段必須具有匹配的字段名稱和數據類型。
手動數據合並
為簡單並且直觀體驗數據合並操作,先建立“書籍1”和“書籍2”兩張數據表,這兩張表的數據結構完全一致,均包括書名、作者、作者ID、出版社4個字段,同時數據類型也一致。
圖:手動數據合並數據表demo
手動數據合並操作步驟:
- 在tableau工作表區“新建並集”,並將需要合並的數據表——“書籍1”和“書籍2”拖入彈出的並集(手動)對話框;
- tableau生成合並后的新數據表,該表包含“書籍1”和“書籍2”的所有數據,並且各字段一一對應。需要注意的是,生成的新表中,新增了sheet和table name兩個字段,用於說明並集中的值的來源信息。
圖:手動數據合並操作步驟
自動數據合並
如果需要合並的數據並不是來自同一數據源,比如來自多個excel表,就可以使用數據合並中的“通配符搜索”完成合並工作。新建三張excel數據表,分別是“合並測試3demo”、“合並測試4demo”、“合並測試5demo”,3張數據表均包含書名、作者、作者ID、出版社4個字段。
圖:自動數據合並數據表demo
自動數據合並操作步驟:
1.將准備合並的Excel數據表放置到同一個文件夾,在工作表區執行“新建並集”操作。
在彈出的“並集”對話框中選擇“通配符(自動)”;
在“工作簿”位置,將匹配內容改寫為“合並數據*”,其中“合並數據”是共有的名稱,星號是通配符,這里用於匹配3、4、5三個數字。
2.tableau生成合並后的新數據表,該表包含“合並測試3demo”、“合並測試4demo”、“合並測試5demo”的所有數據。生成的新表新增path、sheet兩個字段,用於說明並集中的值的來源路徑及表名稱。
圖:自動數據合並操作步驟
數據加載
tableau中的數據載入有兩種方式,分別是實時連接和數據提取。與數據源完成連接后,將某工作表拖拽至畫布區,就可以在畫布區看到“連接”方式的選擇,分別是“實時”和“數據提取”。
圖:數據連接方式
“實時連接”:直接從數據源實時查詢獲取數據信息,tableau不對源數據進行存儲。
“數據提取”:將數據源的數據保存到本地計算機,大幅縮短tableau查詢載入源數據的時間。
選擇數據提取后,可以在彈出窗口繼續設定數據提取的有關細節,如通過篩選器確定要提取哪一部分數據。這里將“出版社”字段添加到了篩選器,可以在彈出的對話框中確定需要篩選的具體出版社,以進一步縮小數據提取范圍;還可以確定提取的數據是所有行,還是增量部分,又或是前多少行數據;也可以通過通配符、條件等方式選擇需要提取的數據。
圖:數據提取示例
“實時”和“數據提取”的選擇
在實際運用中,可結合實際選擇最適合的數據加載方式確保高效完成數據分析工作。
何時選擇“數據提取”:
- 不便於實時連接數據源,如數據是通過本地服務器獲取,但又需要在別的電腦進行分析時,可以通過”數據提取“將所需分析的數據保存到本地電腦。
- 分析的數據量較大,需要提高數據載入效率,降低源數據庫的訪問壓力時,可以通過數據提取將數據轉移到本地計算機。
何時選擇“實時連接”:
- 源數據的保密性要求較高,處於安全考慮不希望保存到本地時,可以采取實時連接的方式。
- 要實時更新源數據信息,並且對實時性的要求較高,可以選擇實時連接的方式。