Analysis Services イベント プロバイダの定義
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 インスタンスの名前を指定します。Analysis Services インスタンスはリモート マシン上に配置される場合があります。
- AnalysisServicesDatabase (必須) は、イベント プロバイダがクエリを実行する Analysis Services データベースの名前を指定します。
- MDXQuery は静的なクエリでは必須ですが、動的なクエリでは使用できません。
MDXQuery の値は、イベント データを値として収集する静的な MDX クエリです。このクエリは、指定されたイベント クラスのイベント フィールドと同じ順序で、正しくマップされた列を持つ二次元データを返す必要があります。イベント フィールドのすべての値を返す必要があります。 - RowsQuery は、Transact-SQL クエリを指定します。XSL 変換は、このクエリの結果を使用して、MDX クエリの ROWS 軸の要素を動的に作成します。静的なクエリに対してこの引数を使用しないでください。
- SlicerQuery は、Transact-SQL クエリを指定します。XSL 変換は、このクエリの結果を使用して、MDX クエリのスライサ部分 (MDX の WHERE 句) を動的に作成します。静的なクエリに対してこの引数を使用しないでください。
- XsltFileName (RowsQuery または SlicerQuery を使用する場合は必須) は、RowsQuery (適用される場合は SlicerQueryも) の結果を完全な MDX クエリに変換するときに使用される XSLT ファイル名のパスです。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)