다음을 통해 공유


MDX 데이터 정의 - CREATE MEMBER

계산 멤버를 만듭니다.

구문

  
CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name   
   AS MDX_Expression  
      [,Property_Name = Property_Value, ...n]  
......[,SCOPE_ISOLATION = CUBE]  

인수

Cube_Name
멤버를 만들 큐브의 이름을 지정하는 유효한 문자열 식입니다.

Member_Name
멤버 이름을 지정하는 유효한 문자열 식입니다. 측정값 차원이 아닌 차원의 멤버를 만들려면 정규화된 이름을 지정합니다. 정규화된 멤버 이름을 제공하지 않으면 측정값 차원에 멤버가 만들어집니다.

MDX_Expression
유효한 MDX(다차원 식) 식입니다.

Property_Name
계산 멤버 속성의 이름을 제공하는 유효한 문자열입니다.

Property_Value
계산 멤버 속성의 값을 정의하는 유효한 스칼라 식입니다.

설명

CREATE MEMBER 문은 세션 전체에서 사용할 수 있는 계산 멤버를 정의하므로 세션 중에 여러 쿼리에서 사용할 수 있습니다. 자세한 내용은 MDX(세션 범위 계산 멤버) 만들기를 참조하세요.

또한 단일 쿼리에서 사용할 계산 멤버를 정의할 수 있습니다. 단일 쿼리로 제한되는 계산 멤버를 정의하려면 SELECT 문에서 WITH 절을 사용합니다. 자세한 내용은 MDX(쿼리 범위 계산 멤버) 만들기를 참조하세요.

Property_Name 표준 또는 선택적 계산 멤버 속성을 참조할 수 있습니다. 표준 멤버 속성은 이 항목의 뒷부분에 나와 있습니다. SESSION 값이 없는 CREATE MEMBER를 사용하여 만든 계산 멤버에는 세션 범위가 있습니다. 또한 계산 멤버 정의 내의 문자열은 큰따옴표로 구분됩니다. 이것은 문자열이 작은따옴표로 구분되어야 한다고 지정하는 OLE DB에 의해 정의된 메서드와는 다릅니다.

현재 연결된 큐브 이외의 큐브를 지정하면 오류가 발생합니다. 따라서 현재 큐브를 나타내는 큐브 이름 대신 CURRENTCUBE를 사용해야 합니다.

OLE DB에서 정의한 멤버 속성에 대한 자세한 내용은 OLE DB 설명서를 참조하세요.

Scope

계산 멤버는 다음 표에 나열된 범위 중 하나에서 발생할 수 있습니다.

쿼리 범위
계산 멤버의 표시 유형 및 수명은 쿼리로 제한됩니다. 계산 멤버는 개별 쿼리에 정의됩니다. 쿼리 범위는 세션 범위를 재정의합니다. 자세한 내용은 MDX(쿼리 범위 계산 멤버) 만들기를 참조하세요.

세션 범위
계산 멤버의 표시 유형 및 수명은 생성되는 세션으로 제한됩니다. (계산 멤버에 DROP MEMBER 문이 실행된 경우 수명은 세션 기간보다 작습니다.) CREATE MEMBER 문은 세션 범위가 있는 계산 멤버를 만듭니다.

범위 격리

MDX(큐브 다차원 식) 스크립트에 계산 멤버가 포함된 경우 기본적으로 계산 멤버는 세션 범위 계산이 확인되기 전과 쿼리 정의 계산이 확인되기 전에 확인됩니다.

참고 항목

특정 시나리오 에서는 AGGREGATE(MDX) 함수와 VISUALTotals(MDX) 함수가 이 동작을 나타내지 않습니다.

이 동작을 통해 일반 클라이언트 애플리케이션은 계산의 특정 구현을 고려하지 않고도 복잡한 계산이 포함된 큐브로 작업할 수 있습니다. 그러나 특정 시나리오에서는 큐브의 특정 계산 전에 세션 또는 쿼리 범위 계산 멤버를 실행하려고 할 수 있으며 Aggregate 함수나 VisualTotals 함수는 적용되지 않습니다. 이렇게 하려면 SCOPE_ISOLATION 계산 속성을 사용합니다.

다음 스크립트는 올바른 결과를 생성하기 위해 SCOPE_ISOLATION 계산 속성이 필요한 경우의 예입니다.

큐브의 MDX 스크립트:

CREATE MEMBER CURRENTCUBE.Measures.ProfitRatio AS 'Measures.[Store Sales]/Measures.[Store Cost]', SOLVE_ORDER = 10  

MDX 쿼리:

WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS  
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5  
SELECT {USAWithoutWA} ON 0 FROM SALES  
WHERE ProfitRatio  

이전 쿼리의 원하는 결과는 WA가 없는 미국의 판매비율로, WA가 없는 미국의 비용을 저장하는 것입니다. 이전 쿼리는 원하는 결과를 반환하지 않습니다. 이 값은 의미 없는 결과인 WA의 비율을 뺀 미국의 비율을 반환합니다. 원하는 결과를 얻으려면 SCOPE_ISOLATION 계산 속성을 사용할 수 있습니다.

SCOPE_ISOLATION 계산 속성을 사용하는 MDX 쿼리:

WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS  
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5  
,SCOPE_ISOLATION=CUBE  
SELECT {USAWithoutWA} ON 0 FROM SALES  
WHERE ProfitRatio  

표준 속성

각 계산 멤버에는 기본 속성 집합이 있습니다. 클라이언트 애플리케이션이 Analysis Services에 연결된 경우 관리자가 선택하는 대로 기본 속성이 지원되거나 지원될 수 있습니다.

큐브 정의에 따라 추가 멤버 속성을 사용할 수 있습니다. 다음 속성은 큐브의 차원 수준에 관한 정보를 나타냅니다.

속성 식별자 의미
Solve_order 계산 멤버가 다른 계산 멤버를 참조하는 경우(즉, 계산 멤버가 서로 교차하는 경우) 계산 멤버를 확인하는 순서입니다.
FORMAT_STRING 셀 값을 표시할 때 클라이언트 응용 프로그램에서 사용할 수 있는 Office 스타일 서식 문자열입니다.
표시 계산 멤버가 스키마 행 집합에 표시되는지 여부를 나타내는 값입니다. AddCalculatedMembers 함수를 사용하여 집합에 표시되는 계산 멤버를 추가할 수 있습니다. 0이 아닌 값은 계산 멤버를 볼 수 있음을 나타냅니다. 이 속성의 기본값은 Visible입니다.

표시되지 않는 계산 멤버(이 값이 0으로 설정된 경우)는 일반적으로 더 복잡한 계산 멤버에서 중간 단계로 사용됩니다. 이러한 계산 멤버는 측정값과 같은 다른 형식의 멤버에서도 참조할 수 있습니다.
NON_EMPTY_BEHAVIOR 빈 셀을 확인할 때 계산 멤버의 동작을 결정하는 데 사용되는 측정값 또는 집합입니다.

** 경고 ** 이 속성은 더 이상 사용되지 않습니다. 설정하지 마십시오. 자세한 내용은 SQL Server 2014에서 사용되지 않는 Analysis Services 기능을 참조하세요.
캡션 클라이언트 애플리케이션이 멤버의 캡션으로 사용하는 문자열입니다.
DISPLAY_FOLDER 클라이언트 애플리케이션이 멤버를 표시하는 데 사용하는 표시 폴더의 경로를 식별하는 문자열입니다. 폴더 수준 구분 기호는 클라이언트 애플리케이션에서 정의합니다. Analysis Services에서 제공하는 도구 및 클라이언트의 경우 백슬래시(\)는 수준 구분 기호입니다. 정의된 멤버에 여러 개의 표시 폴더를 제공하려면 세미콜론(;) 폴더를 구분합니다.
ASSOCIATED_MEASURE_GROUP 이 멤버가 연결된 측정값 그룹의 이름입니다.

참고 항목

DROP MEMBER 문(MDX)
UPDATE MEMBER 문(MDX)
MDX 데이터 정의 문(MDX)