계산된 멤버를 만듭니다.
Syntax
CREATE [ SESSION ] [HIDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name
AS MDX_Expression
[,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]
Arguments
Cube_Name
멤버가 생성될 큐브 이름을 제공하는 유효한 문자열 표현식입니다.
Member_Name
멤버 이름을 제공하는 유효한 문자열 표현식입니다. 측정 차원이 아닌 다른 차원 내에서 구성원을 생성하기 위해 완전 적격 이름을 지정하세요. 완전한 적격 회원 이름을 제공하지 않으면, 구성원은 측정 차원에서 생성됩니다.
MDX_Expression
유효한 다차원 표현(MDX) 표현입니다.
Property_Name
계산된 멤버 속성의 이름을 제공하는 유효한 문자열입니다.
Property_Value
계산된 구성원 속성의 값을 정의하는 유효한 스칼라 표현식입니다.
Remarks
CREATE MEMBER 문은 세션 내내 이용 가능한 계산된 멤버를 정의하며, 따라서 세션 중 여러 쿼리에 사용할 수 있습니다. 자세한 내용은 계산된 구성원 Session-Scoped 생성(MDX)을 참조하세요.
또한 단일 쿼리에서 사용할 계산된 멤버를 정의할 수도 있습니다. 단일 쿼리로 제한된 계산된 멤버를 정의하려면 SELECT 문에서 WITH 절을 사용합니다. 자세한 내용은 계산된 구성원 Query-Scoped 생성(MDX)을 참조하세요.
Property_Name 는 표준 또는 선택적으로 계산된 멤버 속성을 의미할 수 있습니다. 표준 멤버 특성은 이 주제의 후반부에서 나열됩니다. SESSION 값 없이 CREATE MEMBER으로 생성된 계산된 멤버는 세션 범위를 가집니다. 또한, 계산된 멤버 정의 내의 문자열은 이중 따옴표로 구분됩니다. 이는 문자열을 단일 인용 부호로 구분해야 한다고 명시하는 OLE DB의 방법과는 다릅니다.
현재 연결된 큐브 이외의 큐브를 지정하면 오류가 발생합니다. 따라서 현재 큐브를 나타내기 위해 큐브 이름 대신 CURRENTCUBE를 사용해야 합니다.
OLE DB에서 정의한 멤버 속성에 대한 자세한 내용은 OLE DB 문서를 참조하세요.
Scope
계산된 멤버는 다음 표에 나열된 범위 중 하나 내에서 발생할 수 있습니다.
쿼리 범위
계산된 구성원의 가시성과 수명은 쿼리에 한정됩니다. 계산된 구성원은 개별 쿼리에서 정의됩니다. 쿼리 범위는 세션 범위를 덮어씁니다. 자세한 내용은 계산된 구성원 Query-Scoped 생성(MDX)을 참조하세요.
세션 범위
계산된 구성원의 가시성과 수명은 생성되는 세션에 한정됩니다. (계산된 멤버에 대해 DROP MEMBER 문이 발행되면 수명이 세션 지속 시간보다 짧아집니다.) CREATE MEMBER 문은 세션 범위를 가진 계산된 멤버를 생성합니다.
스코프 격리
Cube Multidimensional Expressions(MDX) 스크립트에 계산된 멤버가 포함되어 있을 때, 기본적으로 계산된 멤버들은 세션 범위 계산이나 쿼리 정의 계산보다 먼저 해결됩니다.
메모
특정 상황에서는 Aggregate(MDX) 기능과 VisualTotals(MDX) 함수가 이러한 동작을 보이지 않습니다.
이 동작 덕분에 일반적인 클라이언트 애플리케이션은 복잡한 계산이 포함된 큐브를 사용하면서도 계산의 구체적인 구현을 고려하지 않아도 됩니다. 하지만 특정 상황에서는 큐브 내 특정 계산 전에 세션 또는 쿼리 범위 계산 멤버를 실행하고 싶을 수 있으며, Aggregate 함수나 VisualTotals 함수는 적용되지 않습니다. 이를 위해 SCOPE_ISOLATION 계산 속성을 사용하세요.
예시
다음 스크립트는 올바른 결과를 내기 위해 SCOPE_ISOLATION 계산 속성이 필요한 시나리오의 예입니다.
Cube의 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에 연결될 때, 기본 속성은 관리자가 원하는 대로 지원되거나 지원될 수 있습니다.
큐브 정의에 따라 추가 멤버 속성이 제공될 수 있습니다. 다음 속성들은 큐브 내 차원 수준과 관련된 정보를 나타냅니다.
| 속성 식별자 | Meaning |
|---|---|
| SOLVE_ORDER | 계산된 부재가 다른 하나의 계산된 부재를 참조하는 경우(즉, 계산된 부재들이 서로 교차하는 경우)에 계산된 부재가 어떻게 풀리는지의 순서입니다. |
| FORMAT_STRING | 클라이언트 애플리케이션이 셀 값을 표시할 때 사용할 수 있는 Office 스타일의 형식 문자열입니다. |
| 가시성 | 계산된 멤버가 스키마 행셋에서 보이는지 여부를 나타내는 값입니다.
AddCalculatedMembers 함수를 사용하여 계산된 보이는 멤버를 집합에 추가할 수 있습니다. 0이 아닌 값은 계산된 부재가 보이는 것을 나타냅니다. 이 부동산의 기본 값은 가시성(Visible)입니다. 보이지 않는 계산된 부재(이 값이 0으로 설정된 경우)는 일반적으로 더 복잡한 계산 부재의 중간 단계로 사용됩니다. 이 계산된 구성원들은 측정과 같은 다른 유형의 구성원으로도 지칭될 수 있습니다. |
| NON_EMPTY_BEHAVIOR | 빈 셀을 해석할 때 계산된 구성원의 동작을 결정하는 데 사용되는 측정값 또는 집합입니다. ** 경고 ** 이 부동산은 폐기되었습니다. 설정은 피하세요. 자세한 내용은 SQL Server 2014의 폐기된 분석 서비스 기능을 참조하세요. |
| 캡션 | 클라이언트 애플리케이션이 멤버의 캡션으로 사용하는 문자열입니다. |
| DISPLAY_FOLDER | 클라이언트 애플리케이션이 멤버를 표시하는 데 사용하는 디스플레이 폴더의 경로를 식별하는 문자열입니다. 폴더 레벨 분리기는 클라이언트 애플리케이션에서 정의합니다. Analysis Services에서 제공하는 도구와 클라이언트의 경우, 백슬래시(\)는 레벨 구분자입니다. 정의된 멤버에 대해 여러 개의 디스플레이 폴더를 제공하려면, 세미콜론(;)을 사용해 폴더를 분리하세요. |
| ASSOCIATED_MEASURE_GROUP | 이 원소가 연관된 측도군의 이름입니다. |