適用於: 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 物件模型包含許多重複的專案群組。 例如,元素群組 「Dimensions 包含 階層,」定義元素的維度階層。
除非明確覆寫,否則元素會從較高層級繼承這些重複專案群組的詳細數據。 例如,CubeDimension 的 Translations 與其上階元素的 Translations 相同,Cube。
若要明確覆寫繼承自較高層級物件的屬性,物件不需要明確重複較高層級對象的整個結構和屬性。 物件唯一需要明確陳述的屬性是物件想要覆寫的屬性。 例如,CubeDimension 可能只列出需要在 Cube中停用的 階層,或需要變更可見性的階層,或某些 層級 詳細數據尚未在 維度 層級提供。
物件上指定的某些屬性會針對子物件或子系物件上的相同屬性提供預設值。 例如,Cube.StorageMode 提供 Partition.StorageMode的預設值。 針對繼承的預設值,ASSL 會針對繼承的預設值套用這些規則:
當 XML 中子物件的 屬性為 null 時,屬性的值會預設為繼承的值。 不過,如果您從伺服器查詢值,伺服器會傳回 XML 元素的 Null 值。
無法以程式設計方式判斷子物件的 屬性是否已直接在子對象上設定或繼承。
例
匯入 Cube 包含兩個量值:套件和 Last,以及三個相關的維度:路由、來源和時間。
Cube 周圍的較小英數位元值是維度的成員。 範例成員為地面(Route 維度的成員)、非洲(來源維度的成員),以及第1季(時間維度的成員)。
措施
Cube 儲存格中的值代表兩個量值:Packages 和 Last。 Packages 量值代表匯入的套件數目,而 Sum 函式則用來匯總事實。 Last 量值代表收據日期,而 Max 函式則用來匯總事實。
尺寸
Route 維度代表匯入到達其目的地的方法。 此維度的成員包括地面、非地面、空中、海洋、道路或鐵路。 Source 維度代表匯入的產生位置,例如非洲或亞洲。 時間維度代表單一年份的季數和半。
集 料
不論維度中的成員層級為何,Cube 的商務使用者都可以判斷每個維度成員的任何量值,因為 SQL Server Analysis Services 會視需要匯總上層的值。 例如,使用時間維度中的 [行事曆時間] 階層,即可根據標準行事歷階層來匯總上圖中的量值值,如下圖所示。
除了使用單一維度匯總量值之外,您還可以使用不同的維度成員組合來匯總量值。 這可讓商務用戶同時評估多個維度中的量值。 例如,如果商務使用者想要分析從東半球和西半球乘空氣抵達的季度匯入,則商務使用者可以對 Cube 發出查詢,以擷取下列數據集。
套件 |時間範圍 |所有來源 |東半球 |西半球 | |---------- |----------- |------------------ |------------------ |
|所有時間|25110|6547|18563|
|1st Half|11173|2977|8196|
|1st quarter|5108|1452|3656|
|2nd quarter|6065|1525|4540|Jun-28-99|Jun-20-99|Jun-28-99|
|2nd Half|13937|3570|10367|12 月 29-99|12 月 22-99|12 月 29-99|
|3 第三季|6119|1444|4675|Sep-30-99|Sep-18-99|Sep-30-99|
|第 4 季|7818|2126|5692|12 月 29-99|12 月 22-99|12 月 29-99|
上次 |時間範圍 |所有來源 |東半球 |西半球 | |---------- |----------- |------------------ |------------------ | |所有時間|12 月 29-99|12 月 22-99|12 月 29-99|
|1 上半|Jun-28-99|Jun-20-99|Jun-28-99|
|1 季|30-99|3 月 19-99|30-99|
|2nd quarter|Jun-28-99|Jun-20-99|Jun-28-99|
|2nd Half|12 月 29-99|12 月 22-99|12 月 29-99|
|3 第三季|Sep-30-99|Sep-18-99|Sep-30-99|
|第 4 季|12 月 29-99|12 月 22-99|12 月 29-99|
定義 Cube 之後,您可以建立新的匯總,也可以變更現有的匯總,以設定選項,例如匯總是在處理期間預先計算或在查詢時間計算。 相關主題:匯總與匯總設計。
對應量值、屬性和階層
範例 Cube 中的量值、屬性和階層衍生自 Cube 事實和維度數據表中的下列數據行。
量值或屬性(層級) | 成員 | 源數據表 | 源數據行 | 範例數據行值 |
---|---|---|---|---|
套件量值 | 不適用 | ImportsFactTable | 包 | 12 |
最後一個量值 | 不適用 | ImportsFactTable | 最後 | May-03-99 |
路由維度中的路由類別層級 | nonground,ground | RouteDimensionTable | Route_Category | 非前景 |
路由維度中的路由屬性 | air,sea,road,rail | RouteDimensionTable | 路線 | 海 |
來源維度中的半球屬性 | 東半球、西半球 | SourceDimensionTable | 半球 | 東半球 |
Source 維度中的 Continent 屬性 | 非洲、亞洲、澳大利亞、N. 美國,S. 美洲 | SourceDimensionTable | 大陸 | 歐洲 |
Time 維度中的半個屬性 | 第一半,第二半 | TimeDimensionTable | 半 | 第二半 |
Time 維度中的季屬性 | 第一季度,第二季度,第三季度,第四季度 | TimeDimensionTable | 季度 | 第三季 |
單一 Cube 數據格中的數據通常衍生自事實數據表中的多個數據列。 例如,位於空中成員、非洲成員和第 1 季成員交集處的 Cube 數據格包含一個值,其衍生方式是藉由匯總 importsFactTable 事實數據表中的下列數據列來衍生。
Import_ReceiptKey | RouteKey | SourceKey | TimeKey | 包 | 最後 |
---|---|---|---|---|---|
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 | 2月02-99日 |
3645541 | 1 | 6 | 1 | 20 | 2月09-99日 |
3674906 | 1 | 6 | 1 | 36 | 2月17-99日 |
在上表中,每個數據列的 RouteKey、
此處顯示的範例代表非常簡單的 Cube,因為 Cube 具有單一量值群組,而且所有維度數據表都會聯結至星型架構中的事實數據表。 另一個常見的架構是雪花式架構,其中一或多個維度數據表會聯結至另一個維度數據表,而不是直接聯結至事實數據表。 相關主題:維度(Analysis Services - 多維度數據)。
此處顯示的範例只包含單一事實數據表。 當 Cube 有多個事實數據表時,每個事實數據表中的量值都會組織成量值群組,而量值群組會依定義的維度關聯性,與一組特定的維度相關。 這些關聯性是藉由在數據源檢視中指定參與數據表和關聯性的粒度來定義。 相關主題:維度關聯性。