기본 멤버 속성(MDX)

Analysis Services는 사용자 지정 응용 프로그램에 사용할 추가 데이터 또는 메타데이터를 반환하거나 모델 검사 또는 생성을 지원하기 위해 쿼리에 포함할 수 있는 차원 멤버의 기본 속성을 노출합니다. SQL Server 클라이언트 도구를 사용하는 경우 SSMS(SQL Server Management Studio)에서 기본 속성을 볼 수 있습니다.

기본 속성에는 모든 수준에서 모든 멤버가 노출하는 속성인 ID, KEY, KEYx 및 NAME이 포함됩니다. 특히 LEVEL_NUMBER 또는 PARENT_UNIQUE_NAME과 같은 위치 정보를 반환할 수도 있습니다.

쿼리 생성 방법 및 쿼리를 실행하는 데 사용하는 클라이언트 응용 프로그램에 따라 멤버 속성이 결과 집합에 표시되거나 표시되지 않을 수 있습니다. SQL Server Management Studio를 사용하여 쿼리를 테스트하거나 실행하는 경우 결과 집합의 멤버를 두 번 클릭하여 멤버 속성 대화 상자를 열어 각 기본 멤버 속성 값을 표시할 수 있습니다.

차원 멤버를 사용하고 보는 방법에 대한 개요를 보려면 SSAS MDX 쿼리 창 내의 SSMS 멤버 속성 보기를 참조하십시오.

[!참고]

1999년 3월자(2.6) OLE DB 사양의 OLAP 섹션을 준수하는 공급자로서 Microsoft SQL Server Analysis Services는 이 항목에 나열된 기본 멤버 속성을 지원합니다.

SQL Server Analysis Services 이외의 공급자가 기본 멤버 속성을 추가로 지원할 수도 있습니다. 다른 공급자가 지원하는 기본 멤버 속성에 대한 자세한 내용은 해당 공급자가 제공하는 설명서를 참조하십시오.

멤버 속성의 유형

SQL Server Analysis Services에서 지원하는 기본 멤버 속성은 다음 두 가지 유형입니다.

  • 상황에 맞는 멤버 속성
    이 유형의 멤버 속성은 특정 계층 또는 수준의 컨텍스트에서 사용되어야 하고 지정한 차원 또는 수준의 각 멤버에 대한 값을 제공합니다.

    다음 예에는 KEY 속성의 경로가 포함되어 있습니다. MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY").

  • 상황에 맞지 않는 멤버 속성
    이 유형의 멤버 속성은 특정 차원 또는 수준의 컨텍스트에서 사용할 수 없고 한 축의 모든 멤버에 대한 값을 반환합니다.

    상황에 맞지 않는 속성은 독립 실행형이며 경로 정보를 포함하지 않습니다. 다음 예에는 PARENT_UNIQUE_NAME에 대해 지정된 차원 또는 수준이 없습니다. DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS

기본 멤버 속성이 상황에 맞든 맞지 않든 상관없이 다음의 사용 규칙이 적용됩니다.

  • 축에 표시되는 차원 멤버와 관련된 기본 멤버 속성만 지정할 수 있습니다.

  • 상황에 맞지 않는 기본 멤버 속성을 가진 같은 쿼리에서 상황에 맞는 멤버 속성에 대한 요청을 혼합할 수 있습니다.

  • PROPERTIES 키워드를 사용하여 속성에 대해 쿼리합니다.

다음 섹션에서는 SQL Server Analysis Services에서 사용할 수 있는 다양한 상황에 맞는 기본 멤버 속성과 상황에 맞지 않는 기본 멤버 속성을 모두 설명하고 PROPERTIES 키워드를 각 유형의 속성과 함께 사용하는 방법을 설명합니다.

상황에 맞는 멤버 속성

모든 차원 멤버와 수준 멤버는 상황에 맞는 기본 멤버 속성 목록을 지원합니다. 다음 표에서는 이러한 상황에 맞는 속성을 나열합니다.

속성

설명

ID

내부적으로 유지 관리되는 멤버 ID입니다.

Key

원본 데이터 형식에서 멤버 키의 값입니다. MEMBER_KEY는 이전 버전과의 호환성을 위해 제공됩니다. 비복합 키의 경우 MEMBER_KEY 값이 KEY0과 동일하고 복합 키의 경우 MEMBER_KEY 속성이 Null입니다.

KEYx

멤버에 대한 키이며 x는 키의 서수 값(0부터 시작)입니다. KEY0은 복합 키와 비복합 키에 사용할 수 있지만 주로 복합 키에 사용됩니다.

복합 키의 경우 KEY0, KEY1, KEY2 등이 전체적으로 복합 키를 구성합니다. 쿼리에서 각 키를 독립적으로 사용하여 복합 키의 해당 부분을 반환할 수 있습니다. 예를 들어 KEY0을 지정하면 복합 키의 첫 번째 부분이 반환되고 KEY1을 지정하면 복합 키의 다음 부분이 반환되는 식입니다.

비복합 키의 경우 KEY0은 Key와 같습니다.

KEYx는 컨텍스트에 사용할 수 있으며 컨텍스트 없이도 사용할 수 있습니다. 이러한 이유로 이 키는 두 목록에 나타납니다.

이 멤버 속성을 사용하는 방법에 대한 예는 간단한 MDX Tidbit: Key0, Key1, Key2를 참조하십시오.

Name

멤버의 이름입니다.

상황에 맞는 속성에 대한 PROPERTIES 구문

특정 차원 또는 수준의 컨텍스트에서 이 멤버 속성을 사용하고 지정한 차원 또는 수준의 각 멤버에 대한 값을 제공합니다.

차원 멤버 속성의 경우 속성 이름 앞에 해당 속성이 적용되는 차원 이름을 둡니다. 다음 예에서는 적합한 구문을 보여 줍니다.

DIMENSION PROPERTIES Dimension.Property_name

수준 멤버 속성의 경우 속성 이름 앞에 단순히 수준 이름만 두거나 추가 지정을 위해 차원 이름과 수준 이름을 앞에 둘 수 있습니다. 다음 예에서는 적합한 구문을 보여 줍니다.

DIMENSION PROPERTIES [Dimension.]Level.Property_name

이를 보여 주기 위해 [Sales] 차원에서 참조된 각 멤버의 이름을 모두 반환할 수도 있을 것입니다. 이러한 이름을 반환하려면 MDX 쿼리에 다음과 같은 문을 사용하면 됩니다.

DIMENSION PROPERTIES [Sales].Name

상황에 맞지 않는 멤버 속성

모든 멤버가 컨텍스트에 상관없이 동일한 기본 멤버 속성 목록을 지원합니다. 이러한 속성들은 사용자에게 보다 나은 경험을 주기 위해 응용 프로그램에서 사용할 수 있는 정보를 추가로 제공합니다.

다음 표에서는 SQL Server Analysis Services에서 지원하는 상황에 맞지 않는 기본 속성에 대해 설명합니다.

[!참고]

MEMBERS 스키마 행 집합의 열은 다음 표에 나열된 기본 멤버 속성을 지원합니다. MEMBERS 스키마 행 집합에 대한 자세한 내용은 MDSCHEMA_MEMBERS 행 집합를 참조하십시오.

속성

설명

CATALOG_NAME

이 멤버가 속한 큐브 이름입니다.

CHILDREN_CARDINALITY

멤버의 자식 수입니다. 예상치일 수 있으므로 이 값을 정확한 수로 간주하면 안 됩니다. 공급자는 가능한 한 최적의 예상치를 반환해야 합니다.

CUSTOM_ROLLUP

사용자 지정 멤버 식입니다.

CUSTOM_ROLLUP_PROPERTIES

사용자 지정 멤버 속성입니다.

DESCRIPTION

사람이 읽을 수 있는 멤버 설명입니다.

DIMENSION_UNIQUE_NAME

이 멤버가 속한 차원의 고유한 이름입니다. 자격에 따라 고유한 이름을 생성하는 공급자의 경우 이 이름의 각 구성 요소는 구분 기호로 분리됩니다.

HIERARCHY_UNIQUE_NAME

계층의 고유한 이름입니다. 멤버가 둘 이상의 계층에 속한 경우 멤버가 속한 각 계층마다 하나의 행이 있습니다. 자격에 따라 고유한 이름을 생성하는 공급자의 경우 이 이름의 각 구성 요소는 구분 기호로 분리됩니다.

IS_DATAMEMBER

멤버가 데이터 멤버인지 여부를 나타내는 부울입니다.

IS_PLACEHOLDERMEMBER

멤버가 자리 표시자인지 여부를 나타내는 부울입니다.

KEYx

멤버에 대한 키이며 x는 키의 서수 값(0부터 시작)입니다. KEY0은 복합 키와 비복합 키에 사용할 수 있습니다.

비복합 키의 경우 KEY0은 Key와 같습니다.

복합 키의 경우 KEY0, KEY1, KEY2 등이 전체적으로 복합 키를 구성합니다. 쿼리에서 각 키를 독립적으로 참조하여 복합 키의 해당 부분을 반환할 수 있습니다. 예를 들어 KEY0을 지정하면 복합 키의 첫 번째 부분이 반환되고 KEY1을 지정하면 복합 키의 다음 부분이 반환되는 식입니다.

KEYx는 컨텍스트에 사용할 수 있으며 컨텍스트 없이도 사용할 수 있습니다. 이러한 이유로 이 키는 두 목록에 나타납니다.

이 멤버 속성을 사용하는 방법에 대한 예는 간단한 MDX Tidbit: Key0, Key1, Key2를 참조하십시오.

LCIDx

로캘 ID 16진수 값으로 멤버 캡션을 변환한 값이며 x는 로캘 ID 10진수 값(예: 영어-캐나다의 경우 LCID1009)입니다. 데이터 원본에 바인딩된 캡션 열이 변환에 있는 경우에만 이 값을 사용할 수 있습니다.

LEVEL_NUMBER

계층 루트에서 멤버까지의 거리입니다. 루트 수준은 0입니다.

LEVEL_UNIQUE_NAME

이 멤버가 속한 수준의 고유한 이름입니다. 자격에 따라 고유한 이름을 생성하는 공급자의 경우 이 이름의 각 구성 요소는 구분 기호로 분리됩니다.

MEMBER_CAPTION

멤버에 연결된 레이블 또는 캡션입니다. 캡션은 주로 표시용으로 사용합니다. 캡션이 없는 경우 쿼리는 MEMBER_NAME을 반환합니다.

MEMBER_KEY

원본 데이터 형식에서 멤버 키의 값입니다. MEMBER_KEY는 이전 버전과의 호환성을 위해 제공됩니다. 비복합 키의 경우 MEMBER_KEY 값이 KEY0과 동일하고 복합 키의 경우 MEMBER_KEY 속성이 Null입니다.

MEMBER_NAME

멤버의 이름입니다.

MEMBER_TYPE

멤버의 유형입니다. 이 속성 값은 다음 중 하나일 수 있습니다.

  • MDMEMBER_TYPE_REGULAR

  • MDMEMBER_TYPE_ALL

  • MDMEMBER_TYPE_FORMULA

  • MDMEMBER_TYPE_MEASURE

  • MDMEMBER_TYPE_UNKNOWN

MDMEMBER_TYPE_FORMULA가 MDMEMBER_TYPE_MEASURE보다 우선합니다. 따라서 Measures 차원에 수식(계산) 멤버가 있는 경우 계산 멤버에 대한 MEMBER_TYPE 속성은 MDMEMBER_TYPE_FORMULA입니다.

MEMBER_UNIQUE_NAME

멤버의 고유한 이름입니다. 자격에 따라 고유한 이름을 생성하는 공급자의 경우 이 이름의 각 구성 요소는 구분 기호로 분리됩니다.

MEMBER_VALUE

원본 형식으로 된 멤버의 값입니다.

PARENT_COUNT

이 멤버에 있는 부모 수입니다.

PARENT_LEVEL

계층 루트 수준에서 멤버 부모까지의 거리입니다. 루트 수준은 0입니다.

PARENT_UNIQUE_NAME

멤버 부모의 고유한 이름입니다. 루트 수준의 모든 멤버에 대해서 NULL이 반환됩니다. 자격에 따라 고유한 이름을 생성하는 공급자의 경우 이 이름의 각 구성 요소는 구분 기호로 분리됩니다.

SKIPPED_LEVELS

멤버의 건너뛴 수준 수입니다.

UNARY_OPERATOR

멤버에 대한 단항 연산자입니다.

UNIQUE_NAME

멤버의 정규화된 이름입니다([dimension].[level].[key6.] 형식).

상황에 맞지 않는 속성에 대한 PROPERTIES 구문

다음 구문을 사용하여 PROPERTIES 키워드를 사용하는 상황에 맞지 않는 기본 멤버 속성을 지정할 수 있습니다.

DIMENSION PROPERTIES Property

이 구문에서는 차원이나 수준별로 속성을 정규화할 수 없습니다. 상황에 맞지 않는 기본 멤버 속성이 축의 모든 멤버에 적용되므로 속성을 정규화할 수 없습니다.

예를 들어 DESCRIPTION 기본 멤버 속성을 지정하는 MDX 문의 구문은 다음과 같습니다.

DIMENSION PROPERTIES DESCRIPTION

이 문은 축 차원의 각 멤버에 대한 설명을 반환합니다. Dimension.DESCRIPTION 또는 Level.DESCRIPTION에서와 같이 차원이나 수준으로 속성을 정규화하려고 하면 이 문은 유효성을 검사하지 않습니다.

예제

다음 예에서는 기본 속성을 반환하는 MDX 쿼리를 보여 줍니다.

예 1: 쿼리에서 상황에 맞는 기본 속성 사용

다음 예에서는 각 제품 범주의 이름, 부모 ID 및 키를 반환합니다. 속성은 측정값으로 노출됩니다. 이렇게 하면 쿼리를 실행하는 경우 SSMS의 멤버 속성 대화 상자가 아닌 셀 집합의 속성을 볼 수 있습니다. 이와 같은 쿼리를 실행하여 이미 배포된 큐브에서 멤버 메타데이터를 검색할 수 있습니다.

WITH
MEMBER [Measures].[Parent Member ID] AS
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("ID")
MEMBER [Measures].[Parent Member Key] AS
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
MEMBER [Measures].[Parent Member Name] AS
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("Name")
SELECT
 {[Measures].[Parent Member ID], [Measures].[Parent Member Key], [Measures].[Parent Member Name] } on COLUMNS, 
 [Product].[Product Categories].AllMembers on ROWS
FROM [Adventure Works]

예 2: 상황에 맞지 않는 기본 속성

다음 예는 상황에 맞지 않는 기본 속성의 전체 목록입니다. SSMS에서 쿼리를 실행 한 후 멤버 속성 대화 상자에서 속성을 보려는 개별 멤버를 클릭합니다.

SELECT [Measures].[Sales Amount Quota] on COLUMNS,
[Employee].[Employees].members
DIMENSION PROPERTIES
 CATALOG_NAME , 
 CHILDREN_CARDINALITY ,
 CUSTOM_ROLLUP , 
 CUSTOM_ROLLUP_PROPERTIES , 
 DESCRIPTION , 
 DIMENSION_UNIQUE_NAME , 
 HIERARCHY_UNIQUE_NAME ,
 IS_DATAMEMBER , 
 IS_PLACEHOLDERMEMBER , 
 KEY0 ,
 LCID ,
 LEVEL_NUMBER ,
 LEVEL_UNIQUE_NAME ,
 MEMBER_CAPTION , 
 MEMBER_KEY , 
 MEMBER_NAME , 
 MEMBER_TYPE ,
 MEMBER_UNIQUE_NAME , 
 MEMBER_VALUE , 
 PARENT_COUNT , 
 PARENT_LEVEL , 
 PARENT_UNIQUE_NAME ,
 SKIPPED_LEVELS , 
 UNARY_OPERATOR , 
 UNIQUE_NAME  
 ON ROWS
FROM [Adventure Works]
WHERE [Employee].[Employee Department].[Department].&[Sales]

예 3: 멤버 속성을 결과 집합의 데이터로 반환

다음 예에서는 지정된 로캘에 대한 Adventure Works 큐브의 Product 차원에 있는 제품 카테고리 멤버의 번역된 캡션을 반환합니다.

WITH 
MEMBER Measures.CategoryCaption AS Product.Category.CurrentMember.MEMBER_CAPTION
MEMBER Measures.SpanishCategoryCaption AS Product.Category.CurrentMember.Properties("LCID3082")
MEMBER Measures.FrenchCategoryCaption AS Product.Category.CurrentMember.Properties("LCID1036")
SELECT 
{ Measures.CategoryCaption, Measures.SpanishCategoryCaption, Measures.FrenchCategoryCaption } ON 0
,[Product].[Category].MEMBERS ON 1
FROM [Adventure Works]

참고 항목

참조

PeriodsToDate(MDX)

Children(MDX)

Hierarchize(MDX)

Count(집합)(MDX)

Filter(MDX)

AddCalculatedMembers(MDX)

DrilldownLevel(MDX)

Properties(MDX)

PrevMember(MDX)

MDX 함수 참조(MDX)

개념

멤버 속성 사용(MDX)