設設設設設設設設設設設
Jan 02, 2016
設定量值群組與維度關係
從 SSAS2005 之後, Cube 解決了一個資料表只能使用星狀架構或者使用雪花架構的多維度分析資料結構。
星座架構 (Constellation Schema)這種抽象架構的設計,讓過去的事實資料表轉變成量值群組
( Measure Group ),所以一個 Cube 可以擁有多個事實資料表,因此超越過去的星狀結構與雪花狀結構,成為星座結構( Constellation Schema )。
UDM 導入量值群組與維度/量值關聯性等抽象架構,讓 E-R 模型與 OLAP 之間的界限更形模糊,而能兼擅兩者之間的優點,讓分析的面向可以更為彈性與多元。
6.1 維度與量值群組間的關聯性
目前 ssas2008 提供數種維度與量值群組間的關係:
1) 無關聯性 2) 參考的3) 一般、4) 多對多5) 事實6) 資料採礦
6.1.1 無關聯性
當維度不應該與該量值群組交錯產生結果時,此時則可指定「無關聯性」 (No Relationship)
6.1.2 一般關聯性 (Regular Dimension Relationship)(1/2)
指的是事實維度表透過外部索引鍵與維度資料表的主索引鍵互相連結。
6.1.2 一般關聯性 (Regular Dimension Relationship)(1/2)
在指定關聯性時,必須確認事實資料表以及維度資料表所連結的資料粒度。資料粒度屬性就必須是維度資料表的鍵值屬性。
6.1.3 事實關聯性 (Degenerate Dimensions)
事實維度:直接使用事實維度表的資料作為維度屬性(Dimension Attribute) 的資料來源。在建置 Cube 時,此資料表同時扮演著事實資料表與維度資料表兩身份。
流程:於編輯資料來源檢視中→新增具名計算 ( 客戶數量 )
於維度中新增客戶:客戶數量
選擇事實關聯性,該資料粒度必須為維度本身資料表。
6.1.4 參考關聯性 (Referenced Dimension Relationship)
與一般關聯性相反,即事實資料表不直接與維度資料表相連。而是先連結至一個中繼的維度資料表,中繼資料表再與參考維度相連結。
即雪花狀架構。 使用時機:1) 兩個維度資料表的資料量都很巨大2) 參考維度資料表之間的變動狀況不一致
使用的好處:在設計參考關聯性時,如把具體化選項勾選,則會把參考維度與事實資料表之間的連結關係轉換為實體彙總,並儲存於多維度結構體中。以提升查詢的效能。
6.1.5 多對多關聯性 (Many-to-Many Dimension Relationship)
多對多維度關聯性可以藉由指定連結至維度資料表的中繼事實資料表,來定義維度與量值群組之間的關聯。
彈性的多對多維度能滿足更複雜的商業實務分析需求
過度複雜的多對多維度反而會使彙總資料迅速膨脹,這會對查詢效能產生影響。
6.1.6 資料採礦關聯性
演算法:
1) 決策樹演算法 (Microsoft_Decision_Trees)
2) 群集演算法 (Microsoft_Clustering)
3) 關聯規則 (Microsoft_Association_Rules)
4) 時序群集 (Microsoft_Sequence_Clustering)
採礦維度的作法:將採礦模型運用 DMX 查詢規則內容,然後透過「資料來源檢視」 (UDM 模型 ) 來引用採礦模型內容查詢結果,以建置採礦維度。
產生的採礦維度會自動指定「資料採礦關聯性」 (Data Mining Dimension Relationship) ,將採礦維度與事實資料表連結,來產生彙總值分析結果。
6.2 角色扮演維度 (Role_Playing Dimension)
在 SSAS 2000 中,事實資料表只能夠與維度資料表建立單一的聯結關係。
當 Cube 出現多個不同意義的時間維度時,就必須建置「等量」的時間維度表,個別連結至對應的時間維度。當時間維度一多,也會造成效能上的問題。
角色扮演維度只需要維護一個代表性維度,然後透過維度與量值群組的關聯性指定,來賦予維度不同的角色。
優點:僅需要維護單一維度資料表,同時也可以消除 Cube處理時累贅的時間維度資料表重複連結,大幅提升處理效能。
角色扮演維度不只是應用在時間維度,也可以套用在所有的維度內容,但是隨著狀況不同意義也不同!