SSAS系列——【02】多维数据(维度对象)
1、維度是什么?
???? 數學中叫參數,物理學中是獨立的時空坐標的數目。0維是一點,1維是線,2維是一個長和寬(或曲線)面積,3維是2維加上高度形成體積面。在物理學上時間是第四維,與三個空間維不同的是,它只有一個,且只能往一方向前進。
???? 圖一 MSDN中關于維度的概念
2、服務器對象的內容?
???? 包括數據源、數據視圖、數據庫對象、安全角色和程序集。前4個都不難理解。關于程序集的概念,還需加強一下,程序集可為兩種不同的類型:COM 和 CLR。CLR 程序集是使用 .NET Framework 編程語言(如 C#、Visual Basic .NET 和托管 C++)開發的程序集。說白了,你可以使用C#語言來編程處理服務器對象。
3、維度對象的內容?
???? 簡單 Dimension 對象由基本信息、屬性和層次結構組成。基本信息包括維度的名稱、維度的類型、數據源和存儲模式等。屬性可定義維度中的實際數據。屬性可不必屬于層次結構,但層次結構卻要由屬性生成。層次結構不但可創建級別的有序列表,還可定義用戶瀏覽維度的方式。簡單的講,就像Session對象中的鍵值對一樣,這里的key(基本信息)、Value(屬性),但這里key之前可能存在一定的關系,所以多了一個層次結構。
??? 維度的結構
??????????? a、最簡單的——星型結構
???????? 特點:每個維度均基于一個通過主鍵-外鍵關系直接鏈接到事實數據表的維度表。 不多說了,直接上圖。
圖二 星型結構
??????????? b、最復雜的——雪花結構
圖三 雪花型結構
??? 維度的存儲
???????? a、ROLAP
??????????? 使用 ROLAP 的維度的數據實際上存儲在用于定義維度的表中。相對查詢性能低。
???????? b、MOLAP
??????????? 使用 MOLAP 的維度的數據存儲在 Analysis Services 實例中的多維結構中。相對查詢性能高。
???????? c、HOLAP
??????????? 結合了ROLAP和MOLAP的存儲方式。
?
4、維度如何落地?
???? 維度本身是一個很抽象的東東,它通過屬性來和數據庫表掛鉤。說到屬性,就豁然開朗了,在OO的概念中,屬性的概念無處不在。維度落到實處也就是屬性的集合,這些屬性是由數據源中數據表的列來提供的,一個或者多個列組合,有多個列存在,那不就亂了么?所以再找一個屬性中的“老大”,那就是數據表中的主鍵,于是新出來個新名詞,叫做“鍵屬性”,我覺得鍵屬性是成對出現的,主要是事實表中的主鍵和維度表的外鍵,雙鍵合璧,那對于星型模型而言,維度都表都和鍵屬性直接掛鉤,而雪花型模型,只有部分和鍵屬性掛鉤咯,弱弱的說,MSDN是這么說的。
???? 存在這么多的“屬性小兵”,為了方便管理,那就給這些小兵分個級別把,“旅排營團”的一路擺開,于是又有個新名詞,叫做“屬性層次結構”,例如,在“日歷時間”層次結構中,“日”級別應與“月”級別相關,“月”級別應與“季度”級別相關等等。
???? 存在這么多的“屬性小兵”,小兵與小兵平級之間也該有些關系吧,所有的小兵要緊密團結在老大“鍵屬性”周圍,所以MSDN上說,維度內的屬性始終與鍵屬性直接或間接相關。所以又有了個新名詞,叫做“屬性關系”。
???? 存在這么多的“屬性小兵”,如果把這些小兵的層次和屬性聯合起來,有滿足“層次結構包含的每個屬性都與其下直接屬性一對多”時,叫做“自然層次結構關系”,暈死個人,不過也不難理解。
???? 續ing
5、維度的寫回
???? 維度中的數據通常只是可讀數據,在某些情況下可能對維度啟用寫操作,維度的任何成員均可以修改,還是有一些限制的,MSDN中有詳細的對維度的增刪改限制的描述,用的時候自然要想到,此處不再贅述。
6、維度翻譯
???? 這里的翻譯和我們講的把英文翻譯成中文的意思一樣,客戶可根據區域標識符(LCID)把相應的標簽傳給SSAS實例來實現。
總結
以上是生活随笔為你收集整理的SSAS系列——【02】多维数据(维度对象)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS 内置对象DATE的方法
- 下一篇: SOA_环境安装系列1_Oracle S