SQL Server Analysis Services (SSAS) 是微軟 BI 棧的核心 OLAP 引擎,提供多維數據集設計、部署、管理及客戶端訪問能力。本文記錄 SSAS 入門核心概念:數據源視圖 (DSV)、維度屬性關系、層次結構、度量值組,並通過圖解展示從關係表到多維立方體的映射過程。

屬性直接映射自維度表的列。例如 DimDate 表包含:CalendarQuarter、CalendarSemester、CalendarYear、MonthNumberOfYear 等列,均成為時間維度的屬性。

屬性間存在天然的「一對多」層次關系,必須在 SSAS 中顯式定義,以便引擎優化聚合、啟用屬性關系索引。例如時間維度:
CalendarYear
→ CalendarSemester
→ CalendarQuarter
→ MonthOfYear
→ Date

CalendarYear → CalendarSemester。
層次結構是屬性關系的用戶可見封裝,定義了報表中「鑽下/鑽上」的路徑。同樣在維度設計器中拖拽屬性構建:
Fiscal Hierarchy: Fiscal Year → Fiscal Semester → Fiscal Quarter → Month → Date
Calendar Hierarchy: Calendar Year → Calendar Semester → Calendar Quarter → Month → Date
正確的屬性關系 + 層次結構 = 高性能聚合 + 直觀鑽取體驗。
Cube 由一個或多個 度量值組 組成,每個度量值組映射一張事實表。度量值映射事實表的數值列(如 SalesAmount, OrderQuantity, UnitPrice),聚合函數通常為 Sum、Count、Min、Max、Distinct Count。

| 維度 | SSIS (ETL) | SSAS (OLAP) |
|---|---|---|
| 核心概念 | 控制流、數據流、變量、事件 | 維度、屬性關系、層次、度量值組、聚合、分區、MDX/DAX |
| 抽象層次 | 流程導向,直觀 | 語義建模導向,概念多、復雜 |
| 調試方式 | 數據查看器、斷點、日志 | 瀏覽器切片、MDX 查詢、性能計數器 |
| 上手建議 | 跟著向導做幾個包即可 | **必須多設計業務場景、多部署瀏覽、多寫 MDX**,才能得心應手 |
SSAS 入門關鍵在於理解 **「關係表 → DSV → 維度屬性 → 屬性關系 → 層次結構 → Cube 度量值組」** 這條建模鏈路。屬性關系是性能優化的基石(決定聚合索引構建),層次結構是用戶體驗的入口。建議從 AdventureWorks DW 示例庫入手,完整走一遍:建 DSV → 建維度(含關系/層次) → 建 Cube → 部署 → Excel 連接瀏覽 → 寫簡單 MDX 查詢,建立端到端肌肉記憶。