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 인스턴스의 이름을 지정합니다.
- AnalysisServicesDatabase(필수)는 이벤트 공급자가 쿼리할 Analysis Services 데이터베이스의 이름을 지정합니다.
- MDXQuery는 정적 쿼리에 필요하며 동적 쿼리에는 사용하면 안 됩니다.
MDXQuery 값은 이벤트 데이터를 해당 값으로 수집하는 정적 MDX 쿼리입니다. 이 쿼리는 지정된 해당 열이 이벤트 클래스의 이벤트 필드와 같은 순서로 정확히 매핑되는 2차원 데이터를 반환해야 하며 모든 이벤트 필드 값이 반환되어야 합니다. - RowsQuery는 Transact-SQL 쿼리를 지정하며 쿼리 결과는 MDX 쿼리의 ROWS 축에 대한 요소를 동적으로 생성하기 위해 XSL 변환에서 사용됩니다. 정적 쿼리에는 이 인수를 사용하지 마십시오.
- SlicerQuery는 Transact-SQL 쿼리를 지정하며 쿼리 결과는 MDX 쿼리의 slicer 부분(MDX WHERE 절)을 생성하기 위해 XSL 변환에서 사용됩니다. 정적 쿼리에는 이 인수를 사용하지 마십시오.
- RowsQuery 또는 SlicerQuery를 사용할 때 필요한 XsltFileName은 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)