邏輯架構概觀 (Analysis Services - 多維度資料)
適用于:SQL Server Analysis Services Azure Analysis Services
Fabric/Power BI Premium
Analysis Services 會以伺服器部署模式運作,該模式可判斷不同類型的 Analysis Services 模型所使用的記憶體架構和執行階段環境。 伺服器模式是在安裝期間決定。 多維度和資料採礦模式 支援傳統的 OLAP 和資料採礦。 表格式模式 支援表格式模型。 SharePoint 整合模式 是指安裝為 Power Pivot for SharePoint 的 Analysis Services 實例,用於載入和查詢活頁簿內的 Excel 或 Power Pivot 資料模型。
本主題說明 Analysis Services 以多維度和資料採礦模式運作時的基本架構。 如需其他模式的詳細資訊,請參閱 表格式模型化 和 比較表格式和多維度解決方案。
基本架構
SQL Server Analysis Services的實例可以包含多個資料庫,而資料庫可以同時擁有 OLAP 物件和資料採礦物件。 應用程式會連線到指定的實例,SQL Server Analysis Services和指定的資料庫。 伺服器電腦可以裝載多個SQL Server Analysis Services實例。 SQL Server Analysis Services實例的名稱為 「 < ServerName > \ < InstanceName > 」。 下圖顯示SQL Server Analysis Services物件之間的所有提及關聯性。
基本類別是建立 Cube 所需的最小一組物件。 此最小一組的物件是維度、量值群組和資料分割。 彙總是選擇性。
維度是從屬性和階層建立而來。 階層是由一組排序的屬性所組成,集合的每一個屬性都會對應到階層中的某個層級。
Cube 是從維度和量值群組建立而來。 Cube 之維度集合中的維度屬於資料庫的維度集合。 量值群組是具有相同資料來源檢視而且具有 Cube 中相同維度子集的量值集合。 量值群組有一或多個資料分割可管理實體資料。 量值群組可以有預設的彙總設計, 預設彙總設計可由量值群組中的所有資料分割所使用;此外,每一個資料分割都可以有它自己的彙總設計。
伺服器物件
每個SQL Server Analysis Services實例都會視為 AMO 中的不同伺服器物件;每個不同的實例都會以不同的連接連接到 Server 物件。 每一個伺服器物件都包含一個或多個資料來源、資料來源檢視和資料庫物件,以及組件和安全性角色。
維度物件
每個資料庫物件都包含多個維度物件。 每一個維度物件都包含一或多個屬性,這些屬性會組織成若干階層。
Cube 物件
每個資料庫物件都包含一或多個 Cube 物件。 Cube 是由其量值和維度所定義。 Cube 中的量值和維度是衍生自 Cube 所依據之資料來源檢視中的資料表和檢視,或是從量值和維度定義所產生。
物件繼承
ASSL 物件模型包含許多重複元素群組。 例如,元素群組「維度 包含 階層」會定義元素的維度階層。 Cube和MeasureGroups都包含元素群組:「維度包含階層」。
除非明確被覆寫,否則元素會從更高的層級繼承這些重複元素群組的詳細資料。 例如,CubeDimension的翻譯與其上階元素 Cube 的Translations相同。
若要明確覆寫從更高層物件繼承而來的屬性,物件不需要明確重複整個結構及更高層物件的屬性。 物件需要明確陳述的唯一屬性是物件想要覆寫的那些屬性。 例如,CubeDimension可能只會列出需要在Cube中停用或需要變更可見度的階層,或維度層級尚未提供某些層級詳細資料。
物件上指定的某些屬性會針對子物件或下階物件上的相同屬性提供預設值。 例如, Cube.StorageMode 會提供 Partition.StorageMode的預設值。 若是繼承的預設值,ASSL 會針對繼承的預設值套用這些規則:
當子物件的屬性在 XML 中為 null 持,此屬性的值會預設為繼承的值。 但是,如果您從伺服器查詢此值,伺服器會傳回 XML 元素的 null 值。
您無法以程式設計方式判斷出子物件的屬性是直接在子物件上設定的,還是繼承而來。
範例
Imports Cube 包含 Packages 和 Last 兩個量值,以及 Route、Source 和 Time 三個相關維度。
圍繞 Cube 的較小英數字值是該維度的成員。 範例成員為 ground (Route 維度的成員)、Africa (Source 維度的成員) 和 1st quarter (Time 維度的成員)。
量值
Cube 資料格內的值代表 Packages 和 Last 兩個量值。 Packages 量值代表匯入的封裝數目,而 Sum 函數則用來匯總事實。 Last 量值代表收據的日期,而 Max 函數則用來匯總事實。
維度
Route 維度表示匯入到達目的地的方式。 這個維度的成員包括 ground、nonground、air、sea、road 或 rail。 Source 維度代表製造進口產品的地點,例如 Africa 或 Asia。 Time 維度表示某季或半年度。
彙總
Cube 的商務使用者可以判斷每個維度中每個成員的任何量值,不論維度中的成員層級為何,因為SQL Server Analysis Services視需要匯總上層的值。 例如,上圖中的量值可以根據標準行事曆階層來匯總,方法是使用時間維度中的 [行事歷時間] 階層,如下圖所示。
圖表
除了使用單一維度來彙總量值之外,也可使用不同維度的成員組合來彙總量值。 這可讓商務使用者同時使用多個維度來評估量值。 例如,如果商務使用者想要分析每季從 Eastern Hemisphere 和 Western Hemisphere 的空運進口,則商務使用者可對 Cube 發出查詢,以擷取下列資料集。
套件 |時間範圍 |所有來源 |美國東部 |西歐 | |---------- |----------- |------------------ |------------------ |
|All Time|25110|6547|18563|
|1st Half|11173|2977|8196|
|1st quarter|5108|1452|3656|
|第 2 季|6065|1525|4540|6 月 28 日-99|6 月 20 日-99|6 月 28 日-99|
|2nd Half|13937|3570|10367|12 月 29 日-99|12 月 22 日|99|12 月 29 日-99|
|第 3 季|6119|1444|4675|Sep-30-99|9 月 18 日-99|Sep-30-99|
|第 4 季|7818|2126|5692|12 月 29 日-99|12 月 22 日|99|12 月 29 日-99|
Last |時間範圍 |所有來源 |美國東部 |西歐 | |---------- |----------- |------------------ |------------------ | |所有時間|12 月 29 日-99|12 月 22 日|99|12 月 29 日-99|
|1st Half|6 月 28 日-99|6 月 20 日-99|6 月 28 日-99|
|1st quarter|Mar-30-99|3 月 19 日-99|Mar-30-99|
|2nd quarter|6 月 28 日-99|6 月 20 日-99|6 月 28 日-99|
|2nd Half|12 月 29 日-99|12 月 22 日|99|12 月 29 日-99|
|第 3 季|Sep-30-99|9 月 18 日-99|Sep-30-99|
|第 4 季|12 月 29 日-99|12 月 22 日|99|12 月 29 日-99|
定義 Cube 之後,您可以建立新的彙總,或變更現有的彙總以設定選項 (例如,在查詢的處理或計算期間,是否要預先計算彙總)。 相關主題:匯總和匯總設計。
對應量值、屬性和階層
範例 Cube 的量值、屬性和階層都是衍生自 Cube 事實和維度資料表的下列資料行。
量值或屬性 (層級) | 成員 | 來源資料表 | 來源資料行 | 範例資料行值 |
---|---|---|---|---|
封裝量值 | 不適用 | ImportsFactTable | 套件 | 12 |
最新的量值 | 不適用 | ImportsFactTable | Last | May-03-99 |
Route 維度中的 Route 類別層級 | nonground,ground | RouteDimensionTable | Route_Category | Nonground |
Route 維度的 Route 屬性 | air,sea,road,rail | RouteDimensionTable | 路由 | Sea |
Source 維度的 Hemisphere 屬性 | Eastern Hemisphere,Western Hemisphere | SourceDimensionTable | Hemisphere | Eastern Hemisphere |
Source 維度的 Continent 屬性 | Africa,Asia,AustraliaEurope,N. America,S. America | SourceDimensionTable | Continent | 歐洲 |
Time 維度的 Half 屬性 | 1st half,2nd half | TimeDimensionTable | Half | 2nd half |
Time 維度的 Quarter 屬性 | 1st quarter,2nd quarter,3rd quarter,4th quarter | TimeDimensionTable | 季 | 3rd quarter |
單一 Cube 資料格的資料通常衍生自事實資料表的多個資料列。 例如,Air 成員、非洲成員和第 1 季成員交集處的 Cube 儲存格包含一個值,其衍生方式是匯總 ImportsFactTable 事實資料表中的下列資料列。
Import_ReceiptKey | RouteKey | SourceKey | TimeKey | 套件 | Last |
---|---|---|---|---|---|
3516987 | 1 | 6 | 1 | 15 | Jan-10-99 |
3554790 | 1 | 6 | 1 | 40 | Jan-19-99 |
3572673 | 1 | 6 | 1 | 34 | Jan-27-99 |
3600974 | 1 | 6 | 1 | 45 | Feb-02-99 |
3645541 | 1 | 6 | 1 | 20 | Feb-09-99 |
3674906 | 1 | 6 | 1 | 36 | Feb-17-99 |
在上表中,每個資料列都有與 RouteKey、SourceKey 和 TimeKey資料行相同的值,表示這些資料列會參與相同的 Cube 儲存格。
此處所顯示的範例代表極簡單的 Cube,而在該範例中,Cube 含有單一量值群組,且所有維度資料表都是以星狀結構描述來聯結至事實資料表。 另一個通用結構描述是雪花式結構描述,其中一或多份維度資料表會聯結至另一份維度資料表,而不是直接聯結至事實資料表。 相關主題:Analysis Services (維度 - 多維度資料) 。
此處所顯示的範例只包含單一事實資料表。 當 Cube 具有多份事實資料表時,會將每份事實資料表的量值組成量值群組,並根據定義的維度關聯性讓量值群組與特定的維度集產生關聯。 而透過指定資料來源檢視的參與資料表和關聯性的資料粒度,即可建立這些關聯性。 相關主題:維度關聯性。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應