數據分析中的混合資料運作方式

您可以在數據分析中混合資料,將多個來源的資訊合併到單一檢視畫面。您可以根據這項合併資料建立圖表、表格和控制項。混合資料有助於取得洞察資訊,這些資訊在單獨分析各個資料來源時可能無法發現。

最多可以混合五個不同的資料來源。舉例來說,您可以將顧客記錄與不同 BigQuery 資料表的訂單詳細資料合併,在單一資料表中查看。您也可以在時間序列中結合 Google Ads 和 Google Analytics 指標,評估行銷廣告活動成效。

事前準備

為充分發揮本指南的效益,請務必熟悉下列重要概念:

混合資料與資料來源的差異

混合資料會建立名為「混合」的資源。混合資料與標準資料來源一樣,可為報表圖表和控制項提供資料。不過,兩者在幾個重要方面有所不同:

  • 混合資料會結合多個資料來源的資料。
  • 混合資料一律會嵌入在建立混合資料的報表中。雖然您無法在不同報表之間共用混合資料,但複製報表時也會複製混合資料,因此圖表仍可正常運作。
  • 基礎資料來源的指標會成為混合資料中未匯總的數字維度。詳情請參閱「混合提示和進階概念」。
  • 混合資料會直接沿用基礎資料來源的資料更新間隔和憑證設定。

混合功能運作方式

資料庫程式設計人員會編寫 SQL 陳述式來合併資料表,但數據分析可讓您不編寫任何程式碼就混合資料。您可以使用合併編輯器設定合併資料:

混合編輯器會顯示混合選項,這些選項會在您選取表格和欄位選項時顯示。

圖例:

  1. Tables
  2. 合併設定
  3. 「合併其他資料表」按鈕
  4. 混合名稱
  5. 已納入的維度和指標
  6. 新增指標、日期範圍和篩選條件
  7. 「隱藏重複的合併欄位」選項和「儲存」按鈕

Tables

混合資料是由表格組成。混合編輯器中的每個表格都包含從基礎資料來源擷取的欄位。一個混合資料最多可包含五個表格。

合併前,數據分析會根據維度,將每個表格中的資料列分組及匯總。如果維度不包含每筆記錄的專屬 ID,則相同的資料列會在預先分組階段收合。為確保每筆記錄不重複,並防止資料列數量過早減少,請在每個資料表的維度清單中,新增專屬 ID 欄位 (例如主鍵或資料列 ID)。

如要在表格中新增資料,請按一下「新增維度」或「新增指標」。

用於合併條件的欄位會顯示 連結圖示。

合併設定

合併設定會連結混合資料中的資料表組合。每項合併設定都包含合併運算子和合併條件。合併運算子定義了要水平合併記錄 (join) 還是垂直堆疊資料列 (union),合併條件則指定各資料表欄位的連結或配對方式。

舉例來說,在下方螢幕截圖中,「Grades」資料表會透過 student_id 欄位與「Students」資料表彙整,並透過 class_id 欄位與「Classes」資料表彙整。這兩項合併設定都使用「左外部彙整」運算子。

合併設定,其中選取左外部聯結運算子,並在 student_id (Grades) 和 student_id (Students) 欄位之間設定合併條件。

合併運算子

合併運算子會決定如何合併混合資料來源中的資料表資料。數據分析支援五種 join 運算子和 union 運算子:

  • 內部彙整:只傳回左側和右側表格中相符的資料列。
  • 左外部 join:傳回右側資料表中相符的資料列,以及左側資料表中不相符的資料列。
  • 右外部 join:傳回左側資料表中相符的資料列,以及右側資料表中不相符的資料列。
  • 完整外部彙整:傳回左側和右側資料表中的所有資料列,無論是否相符。
  • cross join:傳回左側和右側資料表所有可能的資料列組合。
  • 聯集:將右側表格的資料列附加至左側表格,以垂直方式堆疊並移除重複的資料列。

join 和 union 有何不同?

這兩種方法都能合併不同來源或資料表的資料。這兩種方法的差異在於資料合併方式:join 會水平合併資料 (新增資料欄),union 則會垂直合併資料 (新增資料列)。

範例:JOIN 和 UNION

展開下列各節,查看彙整和聯集範例。

彙整範例:水平合併資料

彙整作業會根據共同 ID,將兩個以上的資料表並排連結。使用彙整功能,加入資訊欄來充實資料集。

情境:您想將包含客戶名稱清單的資料表,與包含客戶總銷售額的第二個資料表合併。兩個資料表必須共用同一個欄位 (例如「客戶 ID」),才能將第一個資料表的資料列與第二個資料表配對。

表 1:客戶詳細資料 表 2:銷售資料
客戶 ID 客戶名稱 客戶 ID 總銷售額
101 Alex 101 $5,000 美元
102 Jie 102 $3,200

如要將這些資料合併到單一表格,您可以使用「左外部」彙整運算子,並在「客戶 ID」欄位連結表格。這兩個資料表會水平合併成一個更寬的資料表,其中「Customer Name」和「Total Sales」會顯示在同一列。

客戶 ID 客戶名稱 總銷售額
101 Alex $5,000 美元
102 Jie $3,200

聯集範例:垂直附加資料

聯集作業會將兩個以上結構相同 (資料欄和順序相同) 的資料表堆疊在一起。使用聯集將一個資料集附加至另一個資料集,更全面地掌握資料。

情境:您有三個獨立的銷售資料表,分別代表 1 月、2 月和 3 月,您想將這些資料表合併成一個資料集,以便進行整季分析。

表 1:1 月銷售報表

日期 區域 收益
1 月 1 日 東 $100 美元
1/2 West $200

表 2:2 月銷售報表

日期 區域 收益
2 月 1 日 東 $150
2 月 2 日 West $250 美元

表 3:3 月銷售報表

日期 區域 收益
3 月 1 日 東 $180
3 月 2 日 West $280

如要將這三個資料表合併為一個,可以使用 Union 運算子。資料會垂直附加,建立更長的資料表,並保留所有原始資料欄。

日期 區域 收益
1 月 1 日 東 $100 美元
1/2 West $200
2 月 1 日 東 $150
2 月 2 日 West $250 美元
3 月 1 日 東 $180
3 月 2 日 West $280

如要進一步瞭解 join 運算子,請參閱 BigQuery 說明文件。

合併條件

在「合併條件」部分,定義各資料表欄位的連結或配對方式:

  • 彙整:合併條件 (或彙整條件) 包含一或多個相符欄位,用於連結資料表之間的記錄。舉例來說,如果 Google Analytics 資料表和 Google Ads 資料表中都有「廣告活動名稱」,數據分析就能彙整該共用欄位中的資料。
  • 聯集:合併條件會將左側資料表中的每個維度和指標,與右側資料表中資料類型相同的對應欄位配對,讓這些值堆疊在同一欄中。

您可以為混合資料中的每個表格,選取要納入條件的欄位。只要資料相符,各資料表的欄位名稱不一定要相同。舉例來說,如要在單一圖表中呈現客戶、訂單和商品,資料表可能包含下列欄位:

Customers 資料表

  • customer_ID
  • customer_name

「訂單」表格

  • cust_id
  • order_number
  • order_total

Items 表格

  • order_number
  • SKU

如要混合這些資料表,請使用 customer_ID 和 cust_id 欄位做為合併條件,將「客戶」資料表與「訂單」資料表彙整,並使用 order_number 做為合併條件,將「訂單」資料表與「商品」資料表彙整。

已納入的維度和指標

「包含的維度和指標」部分會列出混合資料合併條件中使用的所有欄位,以及您新增至混合資料的其他維度或指標。這些欄位可用於任何以混合資料為基礎的圖表。

隱藏重複的合併欄位

「隱藏重複的合併欄位」選項會排除合併條件中使用的重複欄位。如要在彙整混合資料中加入重複的合併欄位,請取消勾選這個選項。

舉例來說,假設您要彙整 Grades、Students 和 Classes 三個資料表,並在合併設定中使用 student_id 和 class_id 欄位。選取「隱藏重複的合併欄位」選項後,混合資料只會包含 student_id 和 class_id 的一個例項。

成績、學生和課程資料表的混合資料表,其中只有一個 student_id 欄位和一個 class_id 欄位。

如果混合設定相同,但取消勾選「隱藏重複的合併欄位」選項,混合資料就會包含多個 student_id 和 class_id 執行個體,以及該欄位所在的表格名稱,例如 class_id (Grades)、class_id (Classes)、student_id (Grades) 和 student_id (Students)。

成績、學生和課程資料表的混合資料,包含多個 student_id 欄位和多個 class_id 欄位。

如果是聯集混合,系統預設會選取並鎖定「隱藏重複的合併欄位」選項。這項功能會自動隱藏合併表格中的多餘欄位,建立更簡潔的資料來源檢視畫面,只顯示一組聯集欄位。

日期範圍和篩選條件

您可以對一或多個表格套用日期範圍或篩選器,限制混合資料中的資料。

混合範例

課程、學生和成績混合範例示範如何解決傳統的資料混合用途。