若要使用 Analysis Services 事件提供者,您必須在應用程式定義中定義主控的事件提供者。本主題記載 Analysis Services 所需的屬性值和引數,並提供每一種 MDX 查詢類型 (靜態和動態) 的範例。
附註: |
|---|
| Analysis Services 事件提供者會連接到指定的 Analysis Services 執行個體,及查詢指定的 Analysis Services 資料庫。執行事件提供者的 Windows 服務或應用程式所使用的帳戶,必須能夠連接到執行個體,且必須擁有資料庫中的 SELECT 權限。 |
屬性
定義 Analysis Services 事件提供者的屬性時,請使用下列方針。
- ProviderName (必要) 必須是應用程式內的唯一名稱。
- ClassName (必要) 必須是 AnalysisServicesProvider。
- 請勿使用 AssemblyName 屬性。Notification Services 會在 Microsoft.SqlServer.NotificationServices.dll 組件中尋找標準事件提供者資訊。
- SystemName (必要) 通常是指將執行這個主控事件提供者的電腦之名稱。如需詳細資訊,請參閱<定義裝載的事件提供者>。
- 定義逾時值 (選擇性)。預設逾時值是 5 分鐘。
- 定義排程 (必要)。如需詳細資訊,請參閱<定義裝載的事件提供者>。
引數
Analysis Services 事件提供者採用 8 個具名引數。您可以依照任何順序來指定它們:
- EventClassName (必要) 指定事件類別的名稱,這個事件提供者會被設定成為該事件類別提交事件。
- AnalysisServicesInstance (必要) 指定 Analysis Services 執行個體的名稱,該執行個體可能在遠端機器上,且事件提供者會連接到該執行個體。
- AnalysisServicesDatabase (必要) 指定事件提供者要查詢的 Analysis Services 資料庫的名稱。
- 靜態查詢需要 MDXQuery,但它不能用於動態查詢。
MDXQuery 值是靜態 MDX 查詢,它會收集事件資料作為它的值。查詢必須傳回二維資料,其中所含資料行完全對應至指定事件類別的事件欄位,且對應順序也與這些事件欄位一樣。所有事件欄位的值都必須傳回。 - RowsQuery 指定 Transact-SQL 查詢,XSL 轉換會利用該查詢的結果,來動態建構 MDX 查詢之 ROWS 軸的元素。請勿將這個引數用於靜態查詢。
- SlicerQuery 指定 Transact-SQL 查詢,XSL 轉換會利用該查詢的結果,來動態建構 MDX 查詢的 slicer 部份 (MDX WHERE 子句)。請勿將這個引數用於靜態查詢。
- XsltFileName (如果使用 RowsQuery 或 SlicerQuery,則需要這個引數) 是指 XSLT 檔案名稱的路徑,該檔案名稱可用來將 RowsQuery (和 SlicerQuery - 如果適用的話) 的結果轉換為完整 MDX 查詢。有關 XSLT 檔的範例,請參閱<Notification Services 的 MDX 查詢>。如果使用靜態 MDX 查詢,則不能指定這個引數。
如需有關定義事件提供者的詳細資訊,請參閱<定義裝載的事件提供者>。
靜態查詢定義
下列應用程式定義檔案 (ADF) 的 XML 顯示使用靜態查詢之 Analysis Services 事件提供者的定義範例。
<HostedProvider>
<ProviderName>StaticASEventProvider</ProviderName>
<ClassName>AnalysisServicesProvider</ClassName>
<SystemName>%NSSystem%</SystemName>
<Schedule>
<Interval>P0DT00H00M02S</Interval>
</Schedule>
<ProviderTimeout>PT7M</ProviderTimeout>
<Arguments>
<Argument>
<Name>EventClassName</Name>
<Value>KPIEvents</Value>
</Argument>
<Argument>
<Name>AnalysisServicesInstance</Name>
<Value>%ASInstance%</Value>
</Argument>
<Argument>
<Name>AnalysisServicesDatabase</Name>
<Value>Adventure Works</Value>
</Argument>
<Argument>
<Name>MDXQuery</Name>
<Value>SELECT
{[Measures].[Reseller Gross Profit Margin],
[Measures].[Reseller Order Quantity],
[Measures].[Reseller Sales Amount]} ON COLUMNS,
{[Employee].[Employees].[Ken J. Snchez],
[Employee].[Employees].[Amy E. Alberts]} ON ROWS
FROM [Adventure Works]
WHERE [Date].[Calendar].[CY 2002]</Value>
</Argument>
</Arguments>
</HostedProvider>
動態查詢定義
下列應用程式定義檔案 (ADF) 的 XML 顯示使用動態查詢之 Analysis Services 事件提供者的定義範例。
<HostedProvider>
<ProviderName>DynamicASEventProvider</ProviderName>
<ClassName>AnalysisServicesProvider</ClassName>
<SystemName>%NSSystem%</SystemName>
<Schedule>
<Interval>P0DT00H00M02S</Interval>
</Schedule>
<Arguments>
<Argument>
<Name>EventClassName</Name>
<Value>KPIEvents</Value>
</Argument>
<Argument>
<Name>AnalysisServicesInstance</Name>
<Value>%ASInstance%</Value>
</Argument>
<Argument>
<Name>AnalysisServicesDatabase</Name>
<Value>Adventure Works</Value>
</Argument>
<Argument>
<Name>RowsQuery</Name>
<Value>SELECT EmployeeFullName as Employee
FROM NSKPISubscriptionsView</Value>
</Argument>
<Argument>
<Name>SlicerQuery</Name>
<Value>SELECT DATEPART(year, DATEADD(year, -2, GETDATE()))</Value>
</Argument>
<Argument>
<Name>XsltFileName</Name>
<Value>C:\NS\Transforms\MDXTransform.xslt</Value>
</Argument>
</Arguments>
</HostedProvider>
請參閱
概念
定義裝載的事件提供者
Notification Services 的 MDX 查詢
其他資源
標準事件提供者
Analysis Services 事件提供者
MDX 的關鍵概念 (MDX)
附註: