實驗環境
- SQL Server 2012 Analysis Services **表格模式** 安裝 (獨立實例)
- SSDT (SQL Server Data Tools) / BIDS
- 示例數據庫:AdventureWorksDW2012
九大構建階段
1. 創建表格模型專案
SSDT → 新建專案 → Analysis Services 表格模型 → 專案名 `AWTabularModel`
2. 導入數據源
- 模型 → 導入 → 選擇 SQL Server → 連接 AdventureWorksDW2012
- 選擇表:`DimDate`、`DimProduct`、`DimCustomer`、`DimGeography`、`FactInternetSales`、`FactResellerSales`
- 勾選「選擇相關表」自動引入關聯維度
3. 管理關系
- 圖表視圖 → 檢查/調整關系:`FactInternetSales[OrderDateKey] → DimDate[DateKey]` 等
- 關系屬性:單向篩選 (單向/雙向)、依賴完整性
4. 創建計算列
-- DimProduct 表
=RELATED(DimProductSubcategory[EnglishProductSubcategoryName]) -- 子類名
=RELATED(DimProductCategory[EnglishProductCategoryName]) -- 類別名
=DimProduct[ListPrice] - DimProduct[StandardCost] -- 利潤
5. 創建度量值 (DAX)
Total Sales := SUM(FactInternetSales[SalesAmount])
Total Cost := SUM(FactInternetSales[TotalProductCost])
Gross Margin := DIVIDE([Total Sales] - [Total Cost], [Total Sales])
Internet Sales Count := COUNTROWS(FactInternetSales)
6. 定義 KPI
- 度量值 `Gross Margin` → 右鍵「創建 KPI」
- 目標值:0.4、狀態閾值:紅<0.3、黃 0.3-0.4、綠>0.4
7. 構建層次結構
- `DimDate`:Calendar Year → Quarter → Month → Date
- `DimProduct`:Category → Subcategory → Product
- `DimGeography`:Country → State → City
8. 配置透視
- 為「銷售分析」透視隱藏技術列 (Key、ETL 欄位)
- 為「財務透視」僅暴露金額度量值
9. 角色與部署
- 角色:`Sales Managers` (DAX 過濾 `DimGeography[CountryRegionName] = "United States"`)
- 部署屬性:目標伺服器 `localhost`、數據庫 `AWTabular`、處理選項「預設」
- 生成 → 部署 → SSMS 連接 AS 實例驗證
關鍵截圖節點

- 數據源連接配置
- 表導入選擇
- 圖表視圖關系
- 度量值編輯器
- KPI 狀態圖示
- 層次結構設計器
- 角色成員配置
- 部署進度/成功
表格 vs 多維模式快速對比
| 維度 | 表格模型 | 多維模型 |
| 開發語言 | DAX (類 Excel) | MDX (複雜) |
| 內存引擎 | VertiPaq (列存、壓縮) | OLAP 引擎 (聚合預計算) |
| 建模速度 | 快 (關系建模直觀) | 慢 (維度/度量值/分區) |
| 適用場景 | 自助 BI、中小數據量、快速迭代 | 企業級 OLAP、複雜計算、大數據量 |