Analysis Services イベント プロバイダの定義

Analysis Services イベント プロバイダを使用するには、アプリケーション定義でホストされるイベント プロバイダを定義する必要があります。このトピックでは、Analysis Services イベント プロバイダに必要なプロパティ値および引数について説明し、MDX クエリの種類 (静的および動的) それぞれの例を示します。

ms171054.note(ja-jp,SQL.90).gifメモ :
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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手