DrilldownLevel(MDX)DrilldownLevel (MDX)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

집합의 구성원을 집합에 나타나는 최저 수준보다 한 수준 낮은 수준으로 드릴다운합니다.Drills down the members of a set to one level below the lowest level represented in the set.

수준을 지정 하 드릴 다운 선택 사항 이지만 수준의 설정한 경우 사용할 수 있습니다는 식 수준 또는 인덱스 수준합니다.Specifying the level at which to drill down is optional, but if you do set the level, you can use either a level expression or the index level. 이러한 인수는 상호 배타적입니다.These arguments are mutually exclusive. 마지막으로, 계산 멤버가 쿼리에 있는 경우 행 집합에 이러한 계산 멤버가 포함되도록 인수를 지정할 수 있습니다.Finally, if calculated members are present in the query, you can specify an argument to include them in the rowset.

구문Syntax

DrilldownLevel(Set_Expression [,[Level_Expression] ,[Index]] [,INCLUDE_CALC_MEMBERS])  

인수Arguments

Set_ExpressionSet_Expression
집합을 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a set.

Level_ExpressionLevel_Expression
선택 사항입니다.(Optional). 드릴다운할 수준을 명시적으로 식별하는 MDX 식입니다.An MDX expression that explicitly identifies the level at which to drill down. 수준 식을 지정하는 경우 아래의 인덱스 인수를 건너뛰세요.If you specify a level expression, skip the index argument below.

인덱스Index
선택 사항입니다.(Optional). 집합 내에서 드릴다운할 대상 계층 번호를 지정하는 유효한 숫자 식입니다.A valid numeric expression that specifies the hierarchy number to drill down into within the set. Level_Expression 대신 인덱스 수준을 사용하여 드릴다운할 수준을 명시적으로 식별할 수 있습니다.You can use the index level instead of Level_Expression to explicitly identify the level at which to drill down.

Include_Calc_MembersInclude_Calc_Members
선택 사항입니다.(Optional). 드릴다운 수준에서 계산된 구성원 포함 여부(존재하는 경우)를 나타내는 플래그입니다.A flag indicating whether to include calculated members, should they exist, at the drill down level.

주의Remarks

DrilldownLevel 함수 반환 일련의 자식 멤버는 지정 된 집합에 포함 된 멤버에 기반을 계층적 순서로 합니다.The DrilldownLevel function returns a set of child members in a hierarchical order, based on the members included in the specified set. 이때 함수의 결과 집합에 포함되는 모든 자식 구성원이 해당 부모 구성원 바로 아래에 포함된다는 점만 제외하고 지정된 집합의 원래 구성원 순서가 유지됩니다.Order is preserved among the original members in the specified set, except that all child members included in the result set of the function are included immediately under their parent member.

여러 수준 계층적 데이터 구조의 경우, 드릴다운할 수준을 명시적으로 선택할 수 있습니다.Given a multi-level hierarchical data structure, you can explicitly choose a level at which to drill down. 수준을 지정하는 두 가지 상호 배타적인 방법이 있습니다.There are two mutually exclusive ways to specify the level. 첫 번째 방법은 설정 하는 level_expression 지정 하는 다른 방법은 수준을 반환 하는 MDX 식을 사용 하 여 인수는 인덱스 번호로 수준을 지정 하는 숫자 식을 사용 하 여 인수입니다.The first approach is to set the level_expression argument using an MDX expression that returns the level, An alternative approach is to specify the index argument, using a numeric expression that specifies the level by number.

수준 식이 지정된 경우 이 함수는 지정된 수준에 있는 해당 구성원의 자식만 검색하여 계층적 순서로 집합을 구성합니다.If a level expression is specified, the function constructs a set in a hierarchical order by retrieving the children of only those members that are at the specified level. 수준 식이 지정되고 해당 수준에 구성원이 없는 경우, 수준 식은 무시됩니다.If a level expression is specified and there is no member at that level, the level expression is ignored.

인덱스 값이 지정된 경우 이 함수는 인덱스(0부터 시작)에 따라 지정된 집합에서 참조되는 계층의 다음 최하위 수준에 있는 구성원의 하위만 검색하여 집합을 계층적 순서로 구성합니다.If an index value is specified, the function constructs a set in a hierarchical order by retrieving the children of only those members that are at the next lowest level of the hierarchy referenced in the specified set, given a zero-based index.

수준 식과 인덱스 값이 모두 지정되지 않은 경우 이 함수는 지정된 집합에서 참조되는 첫 번째 차원의 최하위 수준에 있는 구성원의 자식만 검색하여 집합을 계층적 순서로 구성합니다.If neither a level expression nor an index value is specified, the function constructs a set in a hierarchical order by retrieving the children of only those members that are at the lowest level of the first dimension referenced in the specified set.

XMLA 속성 MdpropMdxDrillFunctions 쿼리는 서버에서 드릴 함수;에 제공 하는 지원 수준을 확인할 수 있습니다. 참조 지원 XMLA 속성 ( XMLA ) 대 한 자세한 내용은 합니다.Querying the XMLA property MdpropMdxDrillFunctions enables you to verify the level of support that the server provides for the drilling functions; see Supported XMLA Properties (XMLA) for details.

Examples

Adventure Works 큐브를 사용하여 SSMS의 MX 쿼리 창에서 다음 예를 시도할 수 있습니다.You can try the following examples in the MDX query window in SSMS, using the Adventure Works cube.

예 1 – 최소 구문 설명Example 1 – demonstrates minimal syntax

첫 번째 예제에 대 한 최소한의 구문을 보여 줍니다. DrilldownLevel합니다.The first example shows the minimal syntax for DrilldownLevel. 필요한 인수는 집합 식뿐입니다.The only required argument is a set expression. 이 쿼리를 실행 해 서 상위 [All Categories]와 다음 수준의 멤버: [Accessories], [Bikes] 등입니다.Notice that when you run this query, you get the parent [All Categories] and members of the next level down: [Accessories], [Bikes], and so on. 이 예제는 단순, 코드를 보여 줍니다의 기본적인 목표는 DrilldownLevel 아래의 다음 수준으로 드릴 하는 함수를 합니다.Although this example is simple, it demonstrates the basic purpose of the DrilldownLevel function, which is drilling down to the next level below.

SELECT DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]}}) ON COLUMNS  
FROM [Adventure Works]  

예 2 – 명시적 인덱스 수준을 사용하는 대체 구문Example 2 – alternate syntax using an explicit index level

이 예에서는 숫자 식을 통해 인덱스 수준이 지정되는 대체 구문을 설명합니다.This example demonstrates the alternate syntax, where the index level is specified through a numeric expression. 이 경우 인덱스 수준은 0입니다.In this case, index level is 0. 0부터 시작하는 인덱스의 경우, 이 수준이 최저 수준입니다.For a zero-based index, this is the lowest level.

SELECT  
DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]},,0) ON COLUMNS  
FROM [Adventure Works]  

결과 집합은 이전 쿼리와 동일합니다.Notice that the result set is identical to the previous query. 일반적으로 특정 수준에서 드릴다운을 시작하려고 하지 않는 한, 인덱스 수준 설정은 필요하지 않습니다.As a general rule, setting the index level is unnecessary unless you want the drill down to start at a specific level. 이전 쿼리를 다시 실행하여 인덱스 값을 1로 설정한 다음 2로 설정합니다.Re-run the previous query, setting the index value to 1, and then 2. 인덱스 값을 1로 설정한 경우, 드릴다운은 계층의 두 번째 수준에서 시작합니다.With index value set to 1, you see the drill down starts at the second level in the hierarchy. 인덱스 값을 2로 설정한 경우, 드릴다운은 이 예에서 최고 수준인 세 번째 수준에서 시작합니다.With index value set to 2, drill down starts at the third level, the highest level in this example. 숫자 식이 클수록 인덱스 수준도 높아집니다.The higher the numeric expression, the higher the index level.

예제 3 – 수준 식 설명Example 3 – demonstrates a level expression

다음 예에서는 수준 식을 사용하는 방법을 보여줍니다.The next example shows how to use a level expression. 계층 구조를 나타내는 집합의 경우, 수준 식을 사용하면 드릴다운을 시작할 계층 수준을 선택할 수 있습니다.Given a set that represents a hierarchical structure, using a level expression allows you to choose a level in the hierarchy to start the drill down.

이 예에서 드릴 다운 수준에서 시작 [City]의 두 번째 인수로 DrilldownLevel 함수입니다.In this example, the level of drill down starts at [City], as the second argument of the DrilldownLevel function. 이 쿼리를 실행할 때 Washington 및 Oregon 주에 대해 [City] 수준에서 드릴다운이 시작합니다.When you run this query, drill down starts at the [City] level, for the Washington and Oregon states. 당는 DrilldownLevel 함수를 결과 집합도 [Postal codes] 아래쪽 다음 수준의 멤버를 포함 합니다.Per the DrilldownLevel function, the result set also includes members at the next level down, [Postal codes].

SELECT [Measures].[Internet Sales Amount] ON COLUMNS,  
   NON EMPTY (  
   DRILLDOWNLEVEL(  
       {[Customer].[Customer Geography].[Country].[United States],  
           DESCENDANTS(  
             { [Customer].[Customer Geography].[State-Province].[Washington],    
               [Customer].[Customer Geography].[State-Province].[Oregon]},   
               [Customer].[Customer Geography].[City]) } ,  
[Customer].[Customer Geography].[City] ) )  ON ROWS  
FROM [Adventure Works]  

예 4 – 계산된 멤버를 포함 하 여Example 4 – including calculated members

결과의 맨 아래에 표시 되는 계산된 멤버를 추가할 때 설정 하는 마지막 예제는 include_calculated_members 플래그입니다.The last example shows a calculated member, which appears at the bottom of the result set when you add the include_calculated_members flag. 플래그는 네 번째 매개 변수로 지정됩니다.Notice that the flag is specified as the fourth parameter.

이 예는 계산된 구성원이 계산되지 않은 구성원과 같은 수준에 있으므로 작동합니다.This example works because the calculated member is at the same level as the non-calculated members. 계산된 구성원 [West Coast]는 [United States]보다 한 수준 아래에 있는 모든 구성원을 포함한 [United States]의 구성원으로 이루어집니다.The calculated member [West Coast] is composed of members from [United States], plus all of the members one level below the [United States].

WITH MEMBER   
[Customer].[Customer Geography].[Country].&[United States].[West Coast] AS  
[Customer].[Customer Geography].[State-Province].&[OR]&[US] +  
[Customer].[Customer Geography].[State-Province].&[WA]&[US] +  
[Customer].[Customer Geography].[State-Province].&[CA]&[US]  
SELECT [Measures].[Internet Order Count] ON 0,  
DRILLDOWNLEVEL([Customer].[Customer Geography].[Country].&[United States],,,INCLUDE_CALC_MEMBERS) on 1  
FROM [Adventure Works]  

플래그를 제거하고 쿼리를 다시 실행하는 경우, 계산된 구성원 [West Coast]를 제외하고 같은 결과를 얻습니다.If you remove just the flag and re-run the query, you get the same results, minus the calculated member, [West Coast].

참고 항목See Also

MDX 함수 참조 ( Mdx)MDX Function Reference (MDX)