SQL SERVER BI 入門:(2) Analysis Service 應用

上篇文章主要介紹了BI的一些概念,主要是原始庫、數據倉庫數據庫、維度表、事實表和相關的導入工作。數據導入之後,就是分析、統計和挖掘,這是這些底層的工作全部是由微軟的Analysis Service幫我們做好了,我們學會如何使用,便能做到“看起來很厲害的樣子”了。

打開SQLSERVER Data Tools,就可以新建Analysis項目。如圖1

主要分爲Data SourcesData Source ViewsCubesDimensionsMining Structures等。
Data Sources 主要是數據庫源,也就是我使用了哪些數據庫作爲倉庫數據庫。我連接的事DemoDB

Data Source Views 是從數據源裏,使用了哪些表。我這個庫中也沒什麼表,把三個表全部導入。如圖2


Cubes:是數據立方體。何爲數據立方體?這主要是和維度的概念一起理解,我們現實是分三維,x,y,z三個座標決定的空間。而數據庫,可能會包含很多維度,只是在我們的認知中無法想像超越三維的事物,這只是個概念。可見,Cube是依賴於維度的。所以在我們建立Cube的時候,需要理解下面的Dimension是什麼。

DimensionsCube的維度,每個Cube依賴哪些維度來做統計,就需要在這裏建。雖然在創建立方的時候會自動幫我們創建維度,但是有時候他創建的維度並不能達到我們的目的。所以,我們先建Dimension,再建Cube

Mining structures:數據挖掘用的東西,咱這裏就不說了,因爲我還沒用過,只是看了下Webcast的視頻,裏面介紹了集成了大量的現有挖掘算法,很方便的可以做出相應的分析趨勢。 還是看似厲啊。

創建Dimension

那現在就創建一個時間維度,爲我們的UserActionCube做準備工作。

右鍵點擊Dimensions->New Dimension -> Use an existing table ->Main table(DimDate)->Available attributes(全選,因爲我們年月日都作爲統計條件),結束。這個維度是初步建好了。

現在可以看到DimDate的編輯界面,如圖

左側爲屬性,中間是層次結構,右側是表。

因爲我們的統計需求可能會對 月份、年份做統計,所以如果統計某個月,則需要把所有當月的天數的事實做統計,這如果寫程序來統計會很慢很複雜,而維度卻有層級的概念,所以我們可以在中間一欄建立一個層次關係,這樣系統就可以幫我們做好層次的統計。

建立層次結果如圖:

但是上面有感嘆號,鼠標移上去發現說是屬性之間並不存在這種關係。所以我們還要修改AttributeRelationships(在上面一幅圖的紅色圈中的選項卡界面裏)。如圖:


現在默認的關係是平級的,他們沒有層級關係,所以我們要按照年月日建立好關係。


調整爲這樣黃色的感嘆號就不存在了。ID屬性DayDay屬於MonthMonth屬於Year。操作方法:先刪除現有的線條,然後右鍵點擊一個項,創建新關係。

現在你可以Processing DimDate (處理維度),然後點擊browser看看最終得到的數據,我的如下圖:

現在維度已經創建好了,那麼我就創建一個Cube


只需要選擇事實表即可,相關的維度是藍色的。在創建過程中,我們可以選擇已經創建好的DimDate維度,也可以讓系統幫我們自動創建DimAction維度,因爲這個維度不需要我們特熟處理。

Processing FactUserAction   Cube之前,別忘了先處Processing DimAction,假如你也有的話。然後就可以Browser這個Cube的具體報表了。我這邊出現了異常,所以就不貼圖了,貼一個其他機器上Cube的圖讓大家看看。

可以看到左側的提示都是直接拖拽事實表的字段爲統計,維度表的字段爲屬性。生成一個報表,還算不錯,呵呵。不過這種拖拽也只能我們自己看,要想讓運維和產品人員看,就不能讓他們拖拽了,而是我們要開發一套報表展現系統,把Cube裏的數據查詢出來。這個下一節再說吧。

PS】如果有動手做的朋友碰到問題或者有疑惑可以在評論裏給我留言,或加QQ羣,在頁面的左上角。我們共同探討。謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章