내장 멤버 속성(MDX)
Analysis Services는 사용자 지정 애플리케이션에서 사용할 추가 데이터 또는 메타데이터를 반환하거나 모델 조사 또는 생성을 지원하기 위해 쿼리에 포함할 수 있는 차원 멤버에 대한 내장 속성을 노출합니다. SQL Server 클라이언트 도구를 사용하는 경우 SSMS(SQL Server Management Studio)에서 기본 속성을 볼 수 있습니다.
내장 속성에는 모든 멤버가 모든 수준에서 노출하는 속성인 , KEY
KEYx
및 NAME
이 속성이 포함ID
됩니다. 위치 정보(예: LEVEL_NUMBER
또는 PARENT_UNIQUE_NAME
기타)를 반환할 수도 있습니다.
쿼리를 생성하는 방법과 쿼리를 실행하는 데 사용하는 클라이언트 애플리케이션에 따라 멤버 속성이 결과 집합에 표시되거나 표시되지 않을 수 있습니다. SQL Server Management Studio를 사용하여 쿼리를 테스트하거나 실행하는 경우 결과 집합에서 멤버를 두 번 클릭하여 멤버 속성 대화 상자를 열고 각 내장 멤버 속성의 값을 표시할 수 있습니다.
차원 멤버 속성 사용 및 보기에 대한 소개는 SSMS의 MDX 쿼리 창 내에서 SSAS 멤버 속성 보기를 참조하세요.
참고 항목
Microsoft SQL Server Analysis Services는 1999년 3월(2.6일자) OLE DB 사양의 OLAP 섹션을 준수하는 공급자로서 이 항목에 나열된 기본 멤버 속성을 지원합니다.
SQL ServerAnalysis Services 이외의 공급자는 추가 내장 멤버 속성을 지원할 수 있습니다. 다른 공급자가 지원하는 기본 멤버 속성에 대한 자세한 내용은 해당 공급자가 제공하는 설명서를 참조하십시오.
멤버 속성의 형식
SQL Server Analysis Services에서 지원하는 기본 멤버 속성은 다음 두 가지 유형입니다.
상황에 맞는 멤버 속성
이러한 멤버 속성은 특정 계층 또는 수준의 컨텍스트에서 사용해야 하며 지정된 차원 또는 수준의 각 멤버에 대한 값을 제공해야 합니다.
다음 예제에는 속성MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
의 경로가 포함됩니다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를 참조 하세요. |
LCID x |
로캘 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)
자식(MDX)
계층화(MDX)
개수(집합)(MDX)
필터(MDX)
AddCalculatedMembers(MDX)
DrilldownLevel(MDX)
속성(MDX)
PrevMember(MDX)
멤버 속성 사용(MDX)
MDX 함수 참조(MDX)