BI資料倉儲實現方法介紹

2021-08-03 17:12:19 字數 4117 閱讀 1461

目前我們在安踏專案上,為安踏提供了**業務系統,**查詢系統以及bi報表三大塊,這三大塊的示意圖如下:

從上圖我們可以看到這個體系由如下部分構成:

生產系統也就是目前我們為安踏提供的分銷系統,裡面既有分銷資料又有全國各地專賣店上傳得零售資料。

資料倉儲資料倉儲裡面的資料由生產系統定期匯入,資料倉儲可以從多種業務系統匯入資料,如從我們的分銷系統匯入銷售和零售資料,從生產控制系統匯入生產資料,從財務系統匯入財務資料等。目前在安踏dw僅僅是從

ssis引擎資料從生產系統轉到資料倉儲是通過微軟的is工具來實現的,is實現包括資料清洗和抽取。

ssas 我們通過微軟的as來建立多個資料方塊對dw中的資料做預處理,通過對資料的預處理來為客戶提供各種分析報表,從這裡不難看出as報表的即時性取決於dw中資料的抽取頻率。

ssrs 微軟reporting service 報表管理服務,目前在安踏暫沒有用上。

應用程式展現在我們的應用程式裡面增加了34型別用於展現經過as處理後的報表資料,也可以用其它應用程式展現如excel,普科等。

接下來重點對ssis和ssas的用法做詳細的介紹.

第一部分 ssis用法介紹

熟悉sql server 2000 的人都清楚,在sql server 2000 中有個很好用的dts工具,這個工具可以實現資料匯入匯出,執行各種指令碼等功能,在sql server 2005 裡面這個工具被is資料殷勤替代了,其使用方法也跟sql server2000 的dts不太一樣。

step1:啟動sql server business intelligence development studio

step2:新建乙個is專案

選擇integration services 專案,輸入名稱,點確定。

左邊是:工具欄,工具欄中提供了大量的工具控制項,這裡簡單介紹幾個常用,其他的請各位自行研究。

乙個序列容器中可以有多個具體的任務。容易相當於是任務的組合。如:

這個容器就處理了乙個sql任務和乙個資料流任務,兩個任務之間通過箭頭連線起來表示先執行哪個任務後執行哪個任務。

用來對cube進行處理。

執行sql命令,在這裡可以自己寫sql語句或者寫呼叫儲存過程。如:

上圖表示在192.168.10.45的antadw3 資料庫中執行一條語句truncate table garea

執行is包

執行etl資料流處理

如下圖所示:

資料流必須包括乙個資料來源和乙個目標,中間可以做一些特殊的處理,如字元轉換,字元查詢(字元查詢有兩個作用,乙個是用來判斷維度資訊在維度表中是否存在,乙個是用來建立事實表跟維度表之間的關聯,同時通過在維度表中用自增長型別的字段作為主鍵,通過查詢將主鍵欄位在事實表中同時維護,然後用自增長型別的主鍵來作為事實表與維度表的關聯可以相應的提高cube的處理效率)。需要注意的是在is中查詢是嚴格區分大小寫的。

oledb源的設計:

首先需要設定連線管理器,如果已經有建好的連線方式,則直接選擇就可以了,沒有的話需要新建乙個連線。

資料訪問模式有四種:

用的比較多的是「表或檢視」以及「sql命令」,如果考慮到增量抽取則建議採用sql命令的模式。

這裡用來設定需要抽取的字段清單。

oledb目標的設計

首先也是設定連線管理器,表明匯入到哪個表裡面。

接下來設定字段對應關係

錯誤輸出欄用於對一些錯誤的資料進行處理。

多個系列容器測試沒有問題後可以儲存為乙個包,包儲存起來後可以在sql server 作業中排程。

需要注意地方:

一、為了便於以後的維護盡量將etl任務分散在多個包中進行,這樣便於後續正式執行後出現了錯誤好及時排查,如果把所有的任務都放在乙個包中,那只要其中乙個任務錯了,就要對所有的任務進行檢查,無疑給排錯帶來了很大的困難。

二、包排程沒有問題後要把當前的環境和相關的引數儲存起來,可以用中的包配置來處理。

第二部分 ssas用法介紹

ssas由兩個重要的概念:維度和度量值,我們可以理解成維度就是用來描述事物屬性的,如商品資料的編號,顏色,色號,規格,單位等,而度量值是用來描述事物的數量的,如某個倉庫有某個商品多少庫存,這個庫存就是度量值。整個as結構都是基於維度和度量值來處理的。

下面簡單介紹as體系構建的過程:

step1:啟動sql server business intelligence development studio 操作同is step1。

step2:建立乙個as專案

選擇analysis services 專案,輸入名稱,儲存。

從解決方案資源管理器中可以看出,乙個as專案由資料來源,資料來源檢視,多維資料集,維度以及其它成員構成。

其中資料來源用於設定資料連線。

資料來源檢視用於設定各種資料來源表,這個表在後面用來設定維度和度量值。

如上圖所示:左邊是資料來源檢視/表清單,右邊是資料表之間的關係圖,通過右下角的可以瀏覽這個關係圖並定位。這些表有的是作為以後的維度表有的是作為事實表,在維度表和事實表之間需要像sql server裡面一樣維護表間關係。

資料來源和資料來源檢視設定好後,需要建立乙個多維資料集。在多維資料集欄目上點右鍵選擇新建多維資料集,出來多維資料集建立嚮導。

直接點下一步,

按照預設操作即可。

如果有多個資料來源檢視的話,選擇需要的資料來源檢視即可。

選擇那些是事實表那些是維度表

如果有現成的維度表和事實表則可以選擇現有的維度表和事實表

接下來在這裡給多維資料集命名,同時可以預覽一下那些是維度那些是度量值。

雙擊剛才建立好的cube,就可以對cube進行細微的調整,包括修改維度和度量值組。

將所有維度和度量值組都調整好後,把整個維度處理一下就可以直接瀏覽資料了!

這個就是在as裡面預覽的效果。

這些全部處理完後就可以用rs或者我們程式的34型別模板展示了!

第三部分 34型別設定方法

34型別使用的前提條件:

1. 中間層需要2023年5月18號之後的版本。

2. 中間層伺服器需要安裝msxml6.msi和sqlserver2005_asoledb9.msi資料訪問驅動程式。

3. 前段程式319版本

設定方法:

1. 在gsystemcontrol 表中增加一欄,paramid=9001,paramset=

provider=msolap.3;password=*****;persist security info=true;user id=drp\victop;initial catalog=antacube;data source=192.168.

10.45

其中password處設定windows登入密碼,userid設定為bi伺服器的登入使用者名稱,採用bi伺服器機器名\使用者名稱的方式來設定,initial catalog設定as資料庫名稱,data source 設定bi伺服器位址。

2.9801以及9802 設定

9801增加乙個功能號,主表設定為多維資料集名稱即可。

9802 設定:在9802中增加了兩個欄位dimname,dimlowname 分別對應上圖的維度和維度層次。然後在表體增加相應的維度成員和度量值,如果是維度成員則維度一欄填寫是哪個維度表,維度層次一欄填寫維度表中具體的成員。

如果是度量值則只需要在維度層次中寫入度量值的名稱即可(因為在乙個cube中度量值是不允許重複的)。對於普通的報表表頭表體都這樣設定就可以了。下面將重點介紹進銷存報表的實現方法:

因為進銷存報表是需要通過計算來實現的,而用多維資料集的計算列雖然可以實現進銷存報表,但是速度非常慢,因此我們程式用我們傳統的方法來實現進銷存報表,具體的思路是:取上個期間的期末餘額,取本期間第一天到開始日期前一天之間的發生額,得出開始日期的期初,再取開始日期到結束日期之間的發生額,最後算出結束日期的期末餘額,在結構上需要在期間表上面增加乙個字段用於存放下個期間的第一天的日期,這樣便於程式判斷和取數。在9802種設計的時候需要注意:

期初餘額的字段要寫成期間表的期末餘額字段,並且要求欄位id跟cube中的id一樣,同時將ft的值設定為1,對於發生額的ft需要設定成2同時要求欄位id跟cube中的id一致,對於期末餘額ft要設定為3,同時在自定義公式中設定「期初字段;借方字段;貸方字段」,程式根據這個公式計算出期末餘額,而對於欄位id則不作明確要求。

以上所描述的只是乙個簡單的方**介紹,而具體的實現還有不少細節需要研究,限於本人研究的深度和時間關係,在此不作太多的介紹,寫這個簡單的說明文件僅僅是用作引路石,希望可以起到拋磚引玉的作用。

資料倉儲主題

3.4.2 理解資料倉儲中的主題 通過資訊包圖實際上確定了資料倉儲的主題和大部分元資料。這一節先講資料報圖和主題的關係。1 主題的概念 主題 subject 是在較高層次上將企業資訊系統中的資料進行綜合 歸類和分析利用的乙個抽象概念,每乙個主題基本對應乙個巨集觀的分析領域。在邏輯意義上,它是對應企業...

資料倉儲與資料探勘

頻繁專案集.給定全域性專案集i和資料庫d,d中所有滿足使用者指定的最小支援度 minsupport 的專案集,即大於或等於minsupport的i的非空子集,稱為頻繁專案集 frequent itemsets 或者大專案集 large itemsets 在頻繁專案集中挑選出所有不被其他元素包含的頻繁...

資料倉儲和資料探勘

編號 data warehouse data mining 一 課內學時 32 學分 2 二 適用專業 計算機軟體與理論 計算機應用等。三 預修課程 資料庫 四 教學目的 通過資料倉儲和資料探勘的有關基礎知識介紹,使學生對其含義 作用及發展有所了解,為進一步做有關的研究打下基礎。五 大綱內容 第一章...