首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 Analysis Services 開發者指南:鑽取與動作實現 Web OLAP 應用

     編輯:關於SqlServer

前言

SQL Server 2000 Analysis Services 引入鑽取與動作兩大開發者功能,讓 Web OLAP 應用能直達明細資料與啟動業務流程,過去需自行實作中繼資料對映層,今內建支援大幅降低開發複雜度。

功能一:鑽取 — 從彙總單元直達明細列

架構原理

  1. 用戶端透過 ADO MD 執行 MDX 查詢,經 PivotTable Service (OLE DB Provider) 傳送至 OLAP 伺服器
  2. 伺服器依多維資料集鑽取設定(啟用欄位、篩選器)動態產生 SQL,查詢關聯式資料庫明細表
  3. 結果經 OLAP 伺服器 → PivotTable Service → ADO Recordset 回傳用戶端

管理員設定步驟

  1. 多維資料集編輯器 → 工具 → 鑽取選項 → 勾選「啟用鑽取」
  2. 選擇回傳欄位(來自事實表與維度表),可設定 WHERE 篩選
  3. 分區層級可個別覆寫鑽取欄位與篩選
  4. 角色安全性:多維資料集角色管理器 → 鑽取 → 勾選「允許鑽取」

開發者實作 (ASP + ADO MD)

' 1. 擷取 MDX WHERE 子句
intPos = InStr(Session("MDXQuery"), "WHERE")
If intPos > 0 Then strWhere = Mid(Session("MDXQuery"), intPos)

' 2. 組裝 DRILLTHROUGH MDX
strMDX = "DRILLTHROUGH MAXROWS 5000 " & _
         "SELECT {[Measures].[Days]} ON COLUMNS, " & _
         "{[Location].[All Location].[N].[Cincinnati]} ON ROWS " & _
         "FROM Enrollment " & strWhere

' 3. 執行並處理多重 Recordset (多重分區)
Set rs = conn.Execute(strMDX)
Do Until rs Is Nothing
    Call RenderHtmlTable(rs)  ' 逐分區輸出 HTML 表格
    Set rs = rs.NextRecordset
Loop

功能二:動作 — 讓使用者對單元發起業務操作

動作類型與應用

類型觸發層級典型用途
URL多維資料集/維度/層級/成員/單元開啟課程大綱、客戶明細頁、報表連結
報表同上啟動 Reporting Services 報表並傳參數
鑽取同上導向另一多維資料集的特定切片
命令列同上啟動外部應用程式 (如 Excel、自訂工具)

建立 URL 動作範例

  1. 多維資料集編輯器 → Actions 資料夾右鍵 → 動作精靈
  2. 目標:選擇 層級 → Course 維度 → CourseNum 層級
  3. 類型:URL
  4. 語法:"https://www.quilogy.com/courses/" + [Course].CurrentMember.Name + ".htm"
  5. 命名:Syllabus

前端識別與呼叫動作

' 伺服器端:查詢 MDSCHEMA_ACTIONS Rowset
Set rsActions = conn.OpenSchema(adSchemaActions, _
    Array("", "Enrollment", "", "URL", "[Course].[CourseNum].[2072]", "MEMBER"))

' 客戶端:動態顯示動作選單
' 1. 產生可見圖示 (DHTML)
' 2. onClick 切換隱藏表格顯示動作清單
' 3. 動作列 onClick → InvokeURLAction → window.open(url)

整合效果展示

Web 頁面顯示 MDX 查詢結果,課程編號旁出現動作圖示,點擊彈出選單,選擇「大綱」即在新視窗開啟課程頁面;點擊數值單元觸發鑽取,彈出明細資料表格。

結語

Analysis Services 將鑽取與動作內建化,開發者無需維護複雜的中繼資料對映層,即可為 Web OLAP 應用賦予「直達明細」與「啟動業務流程」兩大關鍵能力,大幅豐富使用者互動體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved