來自課程案例學習 sql
某跨國食品超市的信息管理系統,天天都會記錄成千上萬條各地連鎖超市的銷售數據。基於大數據的背景,該公司的管理層決定創建FoodMart數據倉庫,指望能從龐大的數據中挖掘出有商業價值的信息,來進一步幫助管理層進行決策。數據庫
設計一個銷售數據倉庫。要求:編輯器
一、至少4個維度,每一個維度至少3個屬性,儘可能包含維層。函數
二、至少1個事實表。學習
三、數據源能獲取(設計的維度和度量字段應該在數據源中直接或間接獲得)。大數據
* 如下使用SQL Server Integration Services (SSIS) spa
(一)設計數據倉庫概念模型,設計以下:設計
(二)數據倉庫數據源、數據視圖、維度表裝載3d
1.創建一個項目server
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.設置每週六晚24時自動執行裝載新業務數據
要把全部者改成[sa],才能夠運行成功