집합 함수 사용Using Set Functions

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

집합 함수는 차원, 계층 및 수준에서 집합을 검색하거나 이들 개체에서 멤버의 절대 위치 및 상대 위치를 탐색하는 등의 다양한 방법으로 집합을 생성합니다.A set function retrieves a set from a dimension, hierarchy, level, or by traversing the absolute and relative locations of members within these objects, constructing sets in a variety of ways.

집합 함수는 멤버 함수 및 튜플 함수와 마찬가지로 Analysis Services에서 사용되는 다차원 구조를 처리하는 데 필수적입니다.Set functions, like member functions and tuple functions, are essential to negotiating the multidimensional structures found in Analysis Services. 집합 식은 MDX(Multidimensional Expressions) 쿼리의 축을 정의하므로 MDX 쿼리의 결과를 얻는 데도 필수적입니다.Set functions are also essential to obtaining results from Multidimensional Expressions (MDX) queries because set expressions define the axes of an MDX query.

가장 일반적인 집합 함수 중 하나는 멤버 ( 설정 ) ( Mdx) 모든 차원, 계층 또는 수준에서 멤버를 포함 하는 집합을 검색 하는 함수입니다.One of the most common set functions is the Members (Set) (MDX) function, which retrieves a set containing all of the members from a dimension, hierarchy, or level. 다음은 쿼리 내에서 집합 함수를 사용하는 예입니다.The following is an example of its use within a query:

SELECT

//Returns all of the members on the Measures dimension

[Measures].MEMBERS

ON Columns,

//Returns all of the members on the Calendar Year level of the Calendar Year Hierarchy

//on the Date dimension

[Date].[Calendar Year].[Calendar Year].MEMBERS

ON Rows

FROM [Adventure Works]

자주 사용 되는 또 다른 함수는는 크로스 조인 ( Mdx) 함수입니다.Another commonly used function is the Crossjoin (MDX) function. 이 함수는 함수에 매개 변수로 전달된 집합의 카티션 곱을 나타내는 튜플 집합을 반환합니다.It returns a set of tuples representing the cartesian product of the sets passed into it as parameters. 실제로 이 함수를 사용하면 쿼리에서 '중첩' 축 또는 '크로스탭' 축을 만들 수 있습니다.In practical terms, this function enables you to create 'nested' or 'crosstabbed' axes in queries:

SELECT

//Returns all of the members on the Measures dimension

[Measures].MEMBERS

ON Columns,

//Returns a set containing every combination of all of the members

//on the Calendar Year level of the Calendar Year Hierarchy

//on the Date dimension and all of the members on the Category level

//of the Category hierarchy on the Product dimension

Crossjoin(

[Date].[Calendar Year].[Calendar Year].MEMBERS,

[Product].[Category].[Category].MEMBERS)

ON Rows

FROM [Adventure Works]

하위 항목 ( Mdx) 함수는는 자식 작동 하지만 보다 강력 합니다.The Descendants (MDX) function is similar the Children function, but is more powerful. 이 함수는 계층의 하나 이상의 수준에서 모든 멤버의 하위 항목을 반환합니다.It returns the descendants of any member at one or more levels in a hierarchy:

SELECTSELECT

[Measures].[Internet Sales Amount][Measures].[Internet Sales Amount]

ON Columns,ON Columns,

//Returns a set containing all of the Dates beneath Calendar Year//Returns a set containing all of the Dates beneath Calendar Year

//2004 in the Calendar hierarchy of the Date dimension//2004 in the Calendar hierarchy of the Date dimension

DESCENDANTS(DESCENDANTS(

[Date]입니다. [Calendar]입니다. [Calendar Year]. & [2004][Date].[Calendar].[Calendar Year].&[2004]

, [Date].[Calendar].[Date]), [Date].[Calendar].[Date])

ON RowsON Rows

FROM [Adventure Works]FROM [Adventure Works]

순서 ( Mdx) 함수를 사용 하면를 오름차순 또는 내림차순 키를 눌러 특정 숫자 식에 따라 집합의 내용을 요청 합니다.The Order (MDX) function enables you to order the contents of a set in ascending or descending order according to a particular numeric expression. 다음 쿼리에서는 이전 쿼리에서와 동일한 행 멤버를 반환하지만 여기서는 해당 멤버를 Internet Sales Amount 측정값에 따라 정렬합니다.The following query returns the same members on rows as the previous query, but now orders them by the Internet Sales Amount measure:

SELECT

[Measures].[Internet Sales Amount]

ON Columns,

//Returns a set containing all of the Dates beneath Calendar Year

//2004 in the Calendar hierarchy of the Date dimension

//ordered by Internet Sales Amount

ORDER(

DESCENDANTS(

[Date].[Calendar].[Calendar Year].&[2004]

, [Date].[Calendar].[Date])

, [Measures].[Internet Sales Amount], BDESC)

ON Rows

FROM [Adventure Works]

또한 이 쿼리에서는 Descendants라는 한 설정 함수에서 반환한 집합을 Order라는 다른 집합 함수에 매개 변수로 전달하는 방법을 보여 줍니다.This query also illustrates how the set returned from one set function, Descendants, can be passed as a parameter to another set function, Order.

특정 조건에 따라 집합 필터링은 쿼리를 작성할 때 매우 유용 하 고이 목적을 위해 사용할 수 있습니다는 필터 ( Mdx) 다음 예제에 나와 있는 것 처럼 작동 합니다.Filtering a set according to certain criteria is very useful when writing queries, and for this purpose you can use the Filter (MDX) function, as shown in the following example:

SELECT

[Measures].[Internet Sales Amount]

ON Columns,

//Returns a set containing all of the Dates beneath Calendar Year

//2004 in the Calendar hierarchy of the Date dimension

//where Internet Sales Amount is greater than $70000

FILTER(

DESCENDANTS(

[Date].[Calendar].[Calendar Year].&[2004]

, [Date].[Calendar].[Date])

, [Measures].[Internet Sales Amount]>70000)

ON Rows

FROM [Adventure Works]

집합을 다른 방식으로 필터링하는 보다 복잡한 다른 함수도 있습니다.Other, more sophisticated functions exist that allow you to filter a set in other ways. 예를 들어 다음 쿼리 표시는 TopCount ( Mdx) 함수 집합의 상위 n 개 항목을 반환 합니다.For example, the following query shows the TopCount (MDX) function returns the top n items in a set:

SELECT

[Measures].[Internet Sales Amount]

ON Columns,

//Returns a set containing the top 10 Dates beneath Calendar Year

//2004 in the Calendar hierarchy of the Date dimension by Internet Sales Amount

TOPCOUNT(

DESCENDANTS(

[Date].[Calendar].[Calendar Year].&[2004]

, [Date].[Calendar].[Date])

,10, [Measures].[Internet Sales Amount])

ON Rows

FROM [Adventure Works]

다양 한 논리적 집합 작업 등의 함수를 사용 하 여 수행할 수는 마지막으로 Intersect ( Mdx) , Union ( Mdx) 제외 하 고 ( Mdx) 함수입니다.Finally it is possible to perform a number of logical set operations using functions such as Intersect (MDX), Union (MDX) and Except (MDX) functions. 다음 쿼리에서는 이러한 함수 중 마지막 두 함수의 예를 보여 줍니다.The following query shows examples of the latter two functions:

SELECT

//Returns a set containing the Measures Internet Sales Amount, Internet Tax Amount and

//Internet Total Product Cost

UNION(

{[Measures].[Internet Sales Amount], [Measures].[Internet Tax Amount]}

, {[Measures].[Internet Total Product Cost]}

)

ON Columns,

//Returns a set containing all of the Dates beneath Calendar Year

//2004 in the Calendar hierarchy of the Date dimension

//except the January 1st 2004

EXCEPT(

DESCENDANTS(

[Date].[Calendar].[Calendar Year].&[2004]

, [Date].[Calendar].[Date])

,{[Date].[Calendar].[Date].&[915]})

ON Rows

FROM [Adventure Works]

관련 항목:See Also

함수 ( MDX 구문 ) Functions (MDX Syntax)
멤버 함수를 사용 하 여 Using Member Functions
튜플 함수 사용Using Tuple Functions