使用多維數據集向導,可以在 SQL Server 2005 中輕松定義簡單的多維數據集。該向導可以幫助您為多維數據集定義度量值和維度。在該向導中,可以基于數據源定義多維數據集,也可以在不使用現有數據源的情況下定義多維數據集。如果在不使用現有數據源的情況下定義多維數據集,則使用該向導將生成基礎數據源架構。在本教程中,您將基于現有數據源定義多維數據集。有關詳細信息,請參閱使用關系架構和介紹架構生成向導。
在基于現有數據源定義多維數據集時,該向導將連接到在數據源對象中定義的數據庫,并讀取指定表中的數據,以幫助您定義度量值和維度。所定義的這些度量值和維度基于標識為事實數據表、維度表或這兩者的表。在使用此方法時,可以啟用“自動生成”,這樣多維數據集向導將自動定義維度表中各列的屬性。也可以讓該向導自動嘗試生成多級層次結構。如果未啟用“自動生成”,則可以在多維數據集向導中手動創建屬性并生成層次結構,也可以以后在多維數據集設計器中創建這些屬性。
多維數據集
多維數據集最簡單的結構是一個事實表和多個維度表,事實表主要是由維度外鍵和度量值組成,維度表由n個鍵值對組成(如xxID、xxName)
最簡單的理解就是立方體,事實表是核心,維度表則包裹事實表組成立體表面,對立方體進行切面則意味著從不同角度看事實
維度是可以被共用的,例如基本上一個多維庫只有一個時間維度
維度表其實很純潔,千萬不要將其復雜化,以時間維度為例,大家會認為日期與具體的時分秒就是一個維度,其實千萬不要這樣做,首先這樣做會無形中加大很多的維度數據量,其次分解成兩個維度會更適合設計、也更適合業務,做報表時可以查日期維度(年月日)、也可以單獨查時間維度(上午/下午。。。)的一些銷售記錄,拆開來就可以單獨看每個時段的銷售量,分析客戶習慣
關系表設計
主題域:可以理解為一個主題域可以代表一個主題域,所有的主題組成一個整個多維數據庫
在需求明確、主題域分解完畢后,最好先直接用模型定好主外鍵關系,畫好最終效果(即fact-dim的效果),這樣可以快速看到最終效果,如果不這樣做,可能要到做部署項目時才能看到效果,而且有不斷修改的風險
要注意的是,直接用模型寫好的東西,很多表的結構都不是一個單純的實體,這樣就不符合范式,所以要將不符合范式的結構拆分,拆分成一系列實體與聯系
同時要注意的是,其實事實表可以存在重復記錄的,因為可能在一個維度下可以同時存在多個屬性,所以直接設計成表其實不適合
經過上面的解釋,大家其實也想到了,其實多維數據庫的很多事實表是建立在視圖之上的,通過視圖,可以讓表通過不同的連接方式實現重復記錄的形式
SSAS
概念:Sql Server Analysis Services,其實就是微軟推出的可以部署多維數據庫的技術工具
通過增加商業智能組件的VS,可以創建SSAS項目,這樣就可以開始部署工作
注意:要設計好數據視圖,把必要的視圖和表放進去,并設計好缺失的關系;最好不要把所有主題放進同一個立方體里,這樣的視圖可讀性很差,不易維護,而且沒有必要,而且一個多維庫可以承載多個立方體,所以千萬不要把雞蛋放進同一個籃子里
會有特殊的維度設計,除了對稱維度外,會有非對稱維度的做法,以后再介紹
SSRS
概念:Sql Server Report Services,也是微軟推出的可視化快速設計報表工具,不僅支持關系數據庫,還支持多維數據庫
通過上一個介紹的擴展,就可以創建SSRS項目并部署成網頁,通過網頁鏈接,你可以做很多集成
數據集通過其度量值和維度定義。多維數據集中的度量值和維度派生自多維數據集所基于的數據源視圖中的表和視圖。多維數據集由基于一個或多個事實數據表的度量值和基于一個或多個維度表的維度組成。維度基于屬性,而屬性映射到數據源視圖中的維度表或視圖中的一列或多列,然后通過這些屬性定義層次結構。
多維數據集示例
請考慮下面的“進口”多維數據集,其中包含“包”和“上一次”兩個度量值以及“路線”、“源”和“時間”三個相關維度。
多維數據集周圍更小的字母數字值是維度的成員。示例成員為“陸地”(“路線”維度的成員)、“非洲”(“源”維度的成員)以及“第一季度”(“時間”維度的成員)。
度量值
多維數據集中的值表示兩個度量值:“包”和“上一次”。“包”度量值表示進口包的數量,使用 Sum 函數聚合其事實數據。“上一次”度量值表示收到的日期,使用 Max 函數聚合其事實數據。
維度
“路線”維度表示進口貨物到達目的地的方式。該維度的成員包括“陸地”、“非陸地”、“航空”、“海路”、“公路”或“鐵路”。“源”維度表示進口貨物的原產地,如“非洲”或“亞洲”。“時間”維度表示一年的四個季度以及上半年和下半年。
聚合
多維數據集的業務用戶可以確定多維數據集每個維度的每個成員的度量值,不用考慮維度中成員的級別,因為 Analysis Services 將按需在更高級別中聚合值。例如,上圖中的度量值按下面的方式在“時間”維度中的標準日歷層次結構內聚合。
除了在一個維度內聚合之外,度量值還可以聚合來自不同維度的成員的各種組合。這樣使業務用戶得以同時按多個維度中的成員對度量值進行評估。例如,如果業務用戶要分析各個季度通過航空運輸從東半球和西半球進口的貨物,則業務用戶可以對多維數據集發出相應的查詢以檢索以下數據集。
定義完多維數據集之后,可以定義聚合以確定處理過程中預先計算的聚合范圍與查詢時計算的聚合范圍。有關詳細信息,請參閱聚合和聚合設計 (SSAS)。
映射度量值、屬性和層次結構
多維數據集的度量值、屬性和層次結構派生自多維數據集事實數據表和維度表中的下列各列。
一個多維數據集單元中的數據通常派生自事實數據表中的多個行。例如,多維數據集內“航空”成員、“非洲”成員以及“第一季度”成員的單元派生自 ImportsFactTable 事實數據表中的下列行。
在上表中,RouteKey、SourceKey 和 TimeKey 列的每一行都具有相同的值,指示這些行分配給相同的多維數據集單元。
上面所示的示例適用于非常簡單的多維數據集,此類多維數據集具有一個度量值組,并且所有維度表以星型架構的形式與該組聯接。另一個常見的架構為雪花型架構,在該架構中,一個或多個維度表聯接到其他維度表,而不是事實數據表。有關進行雪花狀化的詳細信息,請參閱維度 (SSAS)。
上面所示的示例僅包含一個事實數據表。如果多維數據集具有多個事實數據表,則每個事實數據表中的度量值均被組織到度量值組中,并且通過定義維度關系使得每個度量值組都與特定的一組維度相關。這些關系指定數據源視圖中的參與表以及關系的粒度。有關維度關系的詳細信息,請參閱Dimension Relationships (SSAS)。
下表說明了您可用于在 SQL Server Management Studio 或 Business Intelligence Development Studio 中編輯多維數據集的方法。
多維數據集設計器在 SQL Server Management Studio 和 Business
Intelligence Development Studio 中是相同的。多維數據集設計器具有九個不同的選項卡,下表將對其進行說明。
使用多維數據集向導可以快速、輕松地創建多維數據集。多維數據集向導可引導您完成在多維數據集中指定數據源視圖和度量值的步驟。當您創建多維數據集時,可以添加現有的維度,也可以創建新的維度來構成多維數據集。還可以使用維度向導單獨創建維度,然后將其添加到多維數據集中。有關維度向導的詳細信息,請參閱創建維度。
-
多維數據
+關注
關注
0文章
6瀏覽量
6575 -
數據集
+關注
關注
4文章
1208瀏覽量
24712
發布評論請先 登錄
相關推薦
評論