資料組合_多資料或異質資料合併整合(Union)

使用「資料組合 / 合併資料」功能,可以將多個資料來源或查詢結果,依欄位名稱與結構進行合併,彙整成一份完整的資料表。適合用來整合多個不同來源的資料,方便後續統一進行設計。

 圖片放大

此章節包含主題:

適用時機

當需要將來自不同查詢、資料表或資料來源的資料,依相同欄位結構合併成一份完整資料時,可使用「資料組合 / 合併資料」功能,將多個資料集合併,方便後續進行統一分析、彙總或設計查詢,常用於跨地區、跨時段或跨系統的資料整併情境。

以下將示範如何透過「資料組合 / Union」功能,整合來自不同資料來源(如 SQL Server、Access、Excel)的查詢結果,並設計篩選條件(如送貨城市),完成資料合併與屬性設定。您可依照以下步驟逐一操作,快速完成資料整併,方便後續統一查詢與報表設計。

新增 SQL Server 資料來源查詢

  1. 在主畫面上方工具列,點選綠色「Q」圖示,新增一個查詢及報表,準備開始設計資料組合的查詢內容。

  2. 在「新增查詢及報表」視窗中,填寫標題(合併資料),完成後點選「確定」,建立新的查詢頁面。

  3. 在「選擇」視窗中,點選左側的「從資料開始設計」,透過設定 OLTP 或資料倉儲的資料來源,建立查詢設計。

  4. 在「資料來源」設定畫面中,左側選擇來源類型為「OLTP」,右側點選欲使用的資料庫(例如:OSI_SQL7),確認後點選「確定」,完成資料來源的連結設定。

  5. 在 SQL 編輯畫面中,輸入查詢語法,範例如圖,作為後續分類統計的資料來源,完成 SQL 撰寫後,點選右下角「確定」,儲存查詢設定。

  6. 以下為查詢的 SQL 範例語法:

    Select
    訂貨主檔.送貨城市 as 城市,
    SUM(訂貨明細.數量) as 小計數量,
    SUM(訂貨明細.單價*訂貨明細.數量) as 小計金額,
    'SQL Server' as 資料來源
    From 訂貨主檔,訂貨明細
    where 訂貨主檔.訂單號碼=訂貨明細.訂單號碼
    Group by 訂貨主檔.送貨城市

新增 Access 資料來源查詢

  1. 在左側「資料來源」區塊,點選右鍵後選擇「新增資料來源」,準備設定其他資料來源,以便進行後續的資料合併操作。

  2. 在「新增資料來源」視窗中,選擇 OLTP 類型,並點選 Access_1 這筆資料來源,按下「確定」,完成 Access 資料來源的設定。

  3. 在 SQL 編輯畫面中,輸入 Access 資料的查詢語法,這裡將送貨城市、數量及金額進行彙總,並加入「資料來源2」的標記。完成後,點選「確定」儲存 SQL 設定。

  4. 以下為查詢的 SQL 範例語法:

    Select
    訂貨主檔.送貨城市 as 城市2,
    SUM(訂貨明細.數量) as 小計數量2,
    SUM(訂貨明細.單價*訂貨明細.數量) as 小計金額2,
    'Access' as 資料來源2
    From 訂貨主檔,訂貨明細
    where 訂貨主檔.訂單號碼=訂貨明細.訂單號碼
    Group by 訂貨主檔.送貨城市

新增 Excel 資料來源查詢

  1. 在「資料來源」區塊,點選右鍵選單中的「新增資料來源」,準備加入第三筆資料來源,並依需求選擇對應的資料庫。

  2. 在「資料來源」設定畫面中,選擇 OLTP 類型,並點選 Excel 資料來源,完成後按下「確定」,將第三筆資料來源加入查詢中。

  3. 在 SQL 編輯畫面輸入第三筆查詢,這裡取自 Excel 資料來源,並加上「資料來源3」欄位標示,區分來源。設定完成後,點擊右下角「確定」,完成查詢設定。

  4. 以下為查詢的 SQL 範例語法:

    Select
    [Page1$].小計金額3,
    [Page1$].小計數量3,
    [Page1$].城市3,
    [Page1$].資料來源3
    From [Page1$]

新增送貨城市的篩選條件

  1. 在「資料來源」節點上按右鍵,選擇【新增】以建立共用條件。此步驟讓不同資料來源可以套用相同的篩選條件,確保資料組合時的一致性。

  2. 依照畫面設定共用條件欄位:

  3. 在「共用條件」區塊,點擊【新增】按鈕,建立新的條件,供不同查詢共用使用。

  4. 依照畫面設定共用條件欄位:

  5. 在【共用條件】區塊,點擊【新增】按鈕,準備建立新的篩選條件,供不同查詢共用使用。

  6. 依照畫面設定共用條件欄位:

設定篩選條件的 ForeignKey

  1. 設定「送貨城市」條件的 Foreign Key

  2. ⚠️ 三個條件(送貨城市1、2、3)都需依此設定,確保欄位資料來源一致。

  3. 完成送貨城市的條件設定後,右鍵點選「送貨城市1」條件,選擇【套用至資料表】。 此操作會將設定好的條件直接套用到對應的資料表中,確保查詢時能正確引用這些條件。

  4. 針對每個條件(送貨城市1、送貨城市2、送貨城市3),分別選取對應的資料來源與資料表,如下操作:

    勾選「Oltp1」的「Query1」資料表,對應到各自的條件。

    確認選取無誤後,點選【確定】完成套用。

    如此可確保每個送貨城市條件都正確應用到對應的資料來源。

  5. 為了後續合併資料時更清楚辨識不同來源,請點選資料來源節點,在右側屬性區修改名稱,例如:

    Access_1 改為「Oltp2」

    Excel 改為「Oltp3」

    這樣在操作時能更直觀了解每個資料來源的對應系統,提升設定效率。

資料組合-建立合併資料(Union)

  1. 在「資料組合」區塊,右鍵點選並選擇【新增合併資料】,可將來自不同資料來源的查詢結果進行整合,方便後續進行統一設計。

  2. 將三個異質資料來源進行資料合併,操作步驟如下:

  3. 設定主要資料表並啟用合併鍵值資料

設定合併資料的屬性與行為

  1. 當「合併資料」的設定中,不勾選「合併同鍵值資料」與「排除不在主資料來源的鍵值資料」時,系統會依照查詢條件,將各個資料來源符合條件的資料全部顯示出來,即使同一個城市在不同資料來源中出現多次,依然會完整列出每筆資料,方便檢視各資料來源的細節。

  2. 勾選「合併同鍵值資料」時,系統會將相同鍵值的資料合併,數字型欄位會自動加總,文字型欄位則取最後一筆資料,方便彙整重複資料並簡化顯示結果。

  3. 當同時勾選「合併同鍵值資料」與「排除不在主資料來源的鍵值資料」時,系統會以第一個資料來源作為主資料,若第二或第三個資料來源的查詢條件與主資料相同,則會合併;若不同,該筆資料則不會顯示,確保結果僅呈現主資料來源中存在的鍵值。