數據倉庫ETL案例學習(一)


來自課程案例學習  

某跨國食品超市的信息管理系統,每天都會記錄成千上萬條各地連鎖超市的銷售數據。基於大數據的背景,該公司的管理層決定建立FoodMart數據倉庫,期望能從龐大的數據中挖掘出有商業價值的信息,來進一步幫助管理層進行決策。

設計一個銷售數據倉庫。要求:

1、至少4個維度,每個維度至少3個屬性,盡量包含維層。

2、至少1個事實表。

3、數據源能獲取(設計的維度和度量字段應該在數據源中直接或間接得到)。

 

* 以下使用SQL Server Integration Services (SSIS) 

 

(一)設計數據倉庫概念模型,設計如下:

 

* 可以根據自己的想法設計概念模型,可以是雪花型,可以是星型

 

 

(二)數據倉庫數據源、數據視圖、維度表裝載

1.建立一個項目

 

 

 

 

2.將數據集導入sql server(本文將access數據庫先轉到sql server,再在SSIS里使用,也可以直接在SSIS里使用Access驅動)

 

 

 

 

 

 

  

3.建立與sql server的連接

 

4.依次裝載數據產品維、顧客維、日期維、連鎖店維、促銷維。

產品維中涉及兩個表product、product_class,根據生成查詢獲得了想要的數據

 

目標編輯器選擇新建表來存入數據倉庫。

 

同理裝載商品維

同理裝載促銷維

 

裝載客戶維

同理裝載時間維

這里需要將時間字符串進行分割,使用派生列和日期函數,分別建立年、月、日(ps:這里不需要手動建立時間維,數據倉庫提供了建立時間維的模板,這里后面會提到)

5.裝載事實表

這里需要對匯率進行轉換,將saledetail表和currency分別處理(查找、派生、排序等)后通過合並轉換的內連接,使得匯率與交易的地區相對應,再加派生列,計算所得的利潤。具體的細節如下:

1)   需要將currency的地區和日期與saledetail地區與日期做處理,才能夠相對應

2)兩邊的數據進行內連接

 

3)通過派生列計算利潤

 

4)裝載數據成功,共計251395行

 

 

6.結果如下:

 

在SQL數據庫里可以查看裝載好的數據倉庫

7.在Sql數據庫中設置每周六晚24時自動執行裝載新業務數據

要把所有者改為[sa],才可以運行成功

 

 歡迎小伙伴的批評指正~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM