MDX 데이터 정의 - CREATE SESSION CUBE
기존 서버 큐브에서 세션 큐브를 만들고 채웁니다. 세션 큐브는 현재 세션 내에서만 볼 수 있고 다른 세션에서 찾아보거나 쿼리할 수 없습니다. 세션 큐브는 세션이 닫히면 암시적으로 삭제됩니다.
구문
CREATE SESSION CUBE session_cube_name FROM <cube list> (<param list>)
<cube list>::= source_cube_name [,<cube list>]
<param list>::= <param> ,<param list> | <param>
<param>::= <dims list> | <measures list>
<measures list>::= <measure>[, <measures list>]
<dims list>::= <dim def> [, <dims list>]
<measure>::= MEASURE source_cube_name.measure_name [<visibility qualifier>] [AS measure_name]
<dim def>::= <source dim def> | <derived dim def>
<source dim def>::= DIMENSION source_cube_name.dimension_name [<dim flags>] [<visibility qualifier>] [AS dimension_name>] [FROM <dim from clause> ] [<dim content def>]
<dim flags>::= NOT_RELATED_TO_FACTS
<dim from clause>::= <reg dim from clause>
<dim reg from clause>::= dimension_name
<dim content def>::= ( <level list> [,<grouping list>] [,<member slice list>] [,<default member>] )
<level list>::= <level def> [, <level list>]
<level def>::= LEVEL level_name [<level type> ] [AS level_name] [<level content def>]
<level content def>::= ( <property list> ) | NO_PROPERTIES
<level type>::= GROUPING
<property list>::= <property def> [, <property list>]
<property def>::= PROPERTY property_name
<grouping list>::= <grouping entity> [,<grouping list>]
<grouping entity>::= GROUP group_level_name.group_name (<mixed list>)
<grp mixed list>::= <grp mixed element> [,<grp mixed list>]
<grp mixed element>::= <grouping entity> | <member def>
<member slice list>::= <member list>
<member list>::= <member def> [, <member list>]
<member def>::= MEMBER member_name
<default member>::= DEFAULT_MEMBER AS MDX_expression
<visibility qualifier>::= HIDDEN
구문 요소
session_cube_name
세션 큐브의 이름입니다.
source_cube_name
세션 큐브가 기준으로 하는 큐브의 이름입니다.
source_cube_name.measure_name
세션 큐브에 포함되는 원본 측정값의 정규화된 이름입니다. Measures 차원의 계산 멤버는 허용되지 않습니다.
measure_name
세션 큐브에 있는 측정값의 이름입니다.
source_cube_name.dimension_name
세션 큐브에 포함되는 원본 차원의 정규화된 이름입니다.
dimension_name
세션 큐브에 있는 차원의 이름입니다.
FROM <dim from 절>
파생된 차원 정의에 대해서만 유효한 지정입니다.
NOT_RELATED_TO_FACTS
파생된 차원 정의에 대해서만 유효한 지정입니다.
<수준 형식>
파생된 차원 정의에 대해서만 유효한 지정입니다.
설명
서버 및 로컬 큐브와 달리 세션 큐브는 세션 큐브를 만든 세션 이후에도 유지되지 않습니다. 세션 큐브는 해당 세션 큐브를 정의하는 정의와 측정값으로 정의됩니다. 차원에는 두 가지 유형이 있습니다.
원본 차원 - 하나 이상 원본 큐브의 일부인 차원입니다.
파생 차원 - 새 분석 기능을 제공하는 차원입니다. 파생된 차원은 세로 또는 가로로 분리되거나 차원 멤버의 사용자 지정 그룹화를 포함하는 원본 차원을 기반으로 정의된 일반 차원일 수 있습니다. 파생 차원은 데이터 마이닝 모델을 기반으로 하는 데이터 마이닝 차원이 될 수도 있습니다.
참고 항목
Dimension 키워드는 차원 또는 계층을 참조할 수 있습니다.
세션 큐브는 주로 Microsoft Excel과 같은 클라이언트 애플리케이션에서 동적으로 특성 멤버를 사용자 지정 멤버 그룹으로 그룹화하는 데 사용됩니다. 세션 큐브에서 다음 작업을 수행할 수 있습니다.
원본 큐브에 있는 차원을 제거합니다.
차원에서 계층 구조를 추가하거나 제거합니다.
측정값 그룹이나 특정 측정값을 제거합니다.
기존 특성에 대한 그룹을 만들기 위해 특성 바인딩을 기반으로 새 특성을 추가합니다.
Important
세션 큐브 개체에 대한 보안은 기본 원본 개체에서 상속됩니다. 작업 및 계산 스크립트와 같은 다른 개체도 세션 큐브에서 상속됩니다.
CREATE SESSION CUBE 문은 다음 규칙을 따릅니다.
부모-자식 계층 구조에서는 그룹화 작업을 수행할 수 없습니다.
ROLAP 차원에 대해 그룹화를 수행할 수 없습니다.
연결된 차원에 대한 그룹화는 수행할 수 없습니다.
사용자 지정 롤업을 사용하여 수준에서 그룹화는 수행할 수 없습니다.
불연속화 특성 계층에 대해 그룹화를 수행할 수 없습니다.
수준 간에 다 대 다 관계가 있는 계층(예: 연령 및 성별)인 비자연 계층에 대해 그룹화를 수행할 수 없습니다.
MDX 스크립트의 큐브 이름에 대한 명시적 참조는 세션 큐브의 이름이 다르기 때문에 그룹화에 의해 끊어집니다. 대신 CURRENTCUBE 키워드를 사용합니다.
명시적 기본 멤버를 사용하는 차원에 대해 그룹화는 수행할 수 없습니다.
그룹화 작업을 수행할 때 원래 서버 큐브에서 세션 범위 계산 멤버가 삭제됩니다.
서버 큐브의 큐브 차원에 그룹화할 때 그룹화는 동일한 차원에 따라 모든 큐브 차원에 영향을 줍니다.
예
다음 예제에서는 Reseller Sales Amount 측정값, 재판매인 차원, 제품 차원, Geography 차원 및 Date 차원이 포함된 Adventure Works 큐브의 세션 범위 버전을 만드는 방법을 보여 줍니다. 이 세션 큐브 내에서 두 그룹이 만들어집니다. 한 그룹에는 유럽의 국가/지역이 포함되고 한 그룹에는 북아메리카의 그룹이 포함됩니다. 이 샘플은 사용자가 사용자 지정 멤버 그룹을 만들 때 Microsoft Excel에서 발행한 CREATE SESSION CUBE 문의 간소화된 버전입니다.
CREATE SESSION CUBE [Adventure Works_XL_GROUPING1]
FROM [Adventure Works]
( MEASURE [Adventure Works].[Internet Sales Amount]
,MEASURE [Adventure Works].[Reseller Sales Amount]
,DIMENSION [Adventure Works].[Date].[Calendar]
,DIMENSION [Adventure Works].[Date].[Calendar Year]
,DIMENSION [Adventure Works].[Date].[Calendar Semester]
,DIMENSION [Adventure Works].[Date].[Calendar Quarter]
,DIMENSION [Adventure Works].[Date].[Month Name]
,DIMENSION [Adventure Works].[Date].[Date]
,DIMENSION [Adventure Works].[Geography].[Country]
HIDDEN AS _XL_GROUPING81
,DIMENSION [Adventure Works].[Geography].[State-Province]
,DIMENSION [Adventure Works].[Geography].[City]
,DIMENSION [Adventure Works].[Geography].[Postal Code]
,DIMENSION [Adventure Works].[Geography].[Geography]
,DIMENSION [Adventure Works].[Product].[Product Categories]
,DIMENSION [Adventure Works].[Product].[Category]
,DIMENSION [Adventure Works].[Product].[Subcategory]
,DIMENSION [Adventure Works].[Product].[Product]
,DIMENSION [Adventure Works].[Product].[Product Key]
,DIMENSION [Adventure Works].[Reseller].[Reseller]
,DIMENSION [Adventure Works].[Reseller].[Geography Key]
,DIMENSION [Geography].[Country]
NOT_RELATED_TO_FACTS FROM _XL_GROUPING81
( LEVEL [(All)]
,LEVEL [Country1] GROUPING
,LEVEL [Country]
,GROUP [Country1].[CountryXl_Grp_1]
( MEMBER [Geography].[Country].&[Canada]
,MEMBER [Geography].[Country].&[United States] )
,GROUP [Country1].[CountryXl_Grp_2]
( MEMBER [Geography].[Country].&[France]
,MEMBER [Geography].[Country].&[Germany]
,MEMBER [Geography].[Country].&[United Kingdom] )
)
)