SQL Server BI Step by step 4-1 合并資料 Merge和Merge Join組件

來源:互聯網
上載者:User
 合并資料1   Merge和Merge Join組件

引入本章的目的:前幾章我們已經實現了把Excel中的資料匯入到資料庫中,實現了不重複資料的插入,也就是都只插入資料庫中不存在的資料.那麼如果資料流源Excel中的資料和資料庫中的資料的主鍵相同的情況下,再進行插入操作就會出現異常,怎麼才能實現自動的更新操作呢?也就是自動的判斷資料來源的資料,如果資料庫中存在就執行更新,不存在就執行插入呢?
可能叫做合并資料會有些誤解,這裡的合并資料與運用Merge組件和Merge Join組件直接實現的效果是有差別的,首先我們看看這兩個組件.

 

Merge組件 配置
1. 建立一個包,命名為MergeData.
2. 在控制流程中從工具箱拖一個資料流程工作。編輯進入資料流,拖二個Excel源,編輯Excel源,選擇Product.xls檔案。
3. 再分別拖二個Sort組件進行排序 
 

按照ProductNumber欄位排序

 4. 再添加Merge進行資料合併。

 
5. 拖一個Audit組件。完成資料流配置後,分別添加三個資料檢視器。 

 配置好的資料流圖

6. 調試。查看運行效果。
 

 

可以看到,Merge資料僅僅合并了兩個資料來源的資料,包括重複資料。注意到Merge有以下特點:
    1.使用Merge轉換之前必須對資料進行排序,可能通過如上面那樣使用Sort轉換,或者直接在源串連中指定ORDER BY直接完成. (需要實驗)
    2.合并資料的兩個路徑之間的中繼資料必須相同. (需要實驗)
    3.只能應用於兩個資料的合并,如要兩個以上,可考慮選擇Union All轉換(需要實驗)

 

Merge Join 組件 配置
1. 再建立一個包,命名為MergeData2.
2. 拖兩個OLE DB源,兩個資料來源分別串連到Product表和ProductInventory表.
3. 拖入兩個Sort組件,分別按ProductID欄位進行升序排序。Product是左側輸入。
 

Product排序

4. 拖一個Merge Join組件,設定連線類型為“左外部串連”(左串連,外部,內部串連和SQL一樣),並選擇需要輸出傳遞到路徑的列:
 

5. 添加三個資料檢視器。完成所有配置

 
6. 運行


 

 

可以看到,Merge Join 組件的作用就是把兩個表通過外鍵串連起來,並且通過合并時設定所需要輸出資料行,顯示合并表資料。它的作用相當於SQL中的INNER或者OUTER串連。
可以看到和SQL的串連一下, ,當然,如果兩路輸入位於同一個資料庫中,你直接使用OLE DB資料層級的join操作會更快,但是當你希望合并兩個不同的資料來源時,Merge Join就可以派上用場了.(不是很明白?)

p.s :需要補習下,SQL中串連的知識

 

項目step1---4原始碼檔案:版本為SQL 2005,運行代碼前還需要安裝ExceL應用程式

/Files/cocole/Step1-4Sql05.rar

 

 

作者:悟空的天空(天馬行空)
出處:http://www.cnblogs.com/cocole/
本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.