Definição de dados MDX - CREATE SESSION CUBE

Cria e preenche um cubo de sessão a partir de um cubo de servidor existente. O cubo da sessão só é visível dentro da sessão atual; não pode ser consultado ou consultado a partir de nenhuma outra sessão. O cubo de sessão é implicitamente eliminado quando a sessão é encerrada.

Syntax

  
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  
  

Elementos de sintaxe

session_cube_name
O nome do cubo de sessão.

source_cube_name
O nome do cubo em que o cubo de sessão se baseia.

source_cube_name.nome_de_medir
O nome totalmente qualificado da medida de origem está incluído no cubo de sessão. Membros calculados da dimensão Medidas não são permitidos.

measure_name
O nome do compasso no cubo de sessão.

source_cube_name.nome_dimensão_
O nome totalmente qualificado da dimensão de origem está incluído no cubo de sessão.

dimension_name
O nome da dimensão no cubo de sessão.

FROM <dim from cláusula>
Especificação válida apenas para definição de dimensão derivada.

NOT_RELATED_TO_FACTS
Especificação válida apenas para definição de dimensão derivada.

<Tipo de nível>
Especificação válida apenas para definição de dimensão derivada.

Observações

Ao contrário dos cubos servidor e locais, um cubo de sessão não é persistido para além da sessão que criou o cubo de sessão. Um cubo de sessão é definido em termos das medidas e definições que o definem. Existem dois tipos de dimensões.

  • Dimensões fonte - Estas são dimensões que faziam parte de um ou mais cubos fonte.

  • Dimensões derivadas - Estas são dimensões que fornecem novas capacidades de análise. Uma dimensão derivada pode ser uma dimensão regular definida com base numa dimensão de origem que é fatiada vertical ou horizontalmente, ou contém agrupamento personalizado de membros da dimensão. Uma dimensão derivada pode também ser uma dimensão de mineração de dados baseada num modelo de mineração de dados.

Note

A palavra-chave Dimensão pode referir-se a dimensões ou hierarquias.

Os cubos de sessão são usados principalmente para agrupamento dinâmico dos membros dos atributos em grupos personalizados por aplicações clientes, como o Microsoft Excel. Num cubo de sessão, pode realizar as seguintes tarefas:

  • Elimine dimensões que existam no cubo fonte.

  • Adicionar ou eliminar hierarquias de uma dimensão.

  • Eliminar grupos de medidas ou medidas específicas.

  • Adicionar um novo atributo, baseado na ligação de atributos, para efeitos de criar grupos contra um atributo existente...

Importante

A segurança nos objetos do cubo de sessão é herdada dos objetos fonte subjacentes. Outros objetos, como ações e scripts de cálculo, também são herdados pelo cubo de sessão.

A instrução CREATE SESSION CUBE segue estas regras:

  • Não se pode fazer agrupamento em hierarquias entre pais e filhos.

  • Não podes fazer agrupamento nas dimensões ROLAP.

  • Não podes realizar agrupamento em dimensões ligadas.

  • Não podes fazer agrupamentos em níveis com rollups personalizados.

  • Não pode fazer agrupamento em hierarquias discretizadas de atributos.

  • Não se pode fazer agrupamento em hierarquias não naturais, que são hierarquias com relações muitos-para-muitos entre níveis (como idade e género).

  • Referências explícitas a um nome de cubo no script MDX são quebradas por agrupamento porque o cubo de sessão tem um nome diferente. Use antes a palavra-chave CURRENTCUBE.

  • Não pode realizar agrupamento em dimensões com membros explícitos por defeito.

  • Ao realizar agrupamento, os membros calculados com âmbito de sessão no cubo original do servidor são eliminados.

  • Ao realizar agrupamento numa dimensão de cubo num cubo servidor, o agrupamento afeta todas as dimensões do cubo com base na mesma dimensão.

Example

O exemplo seguinte demonstra a criação de uma versão com âmbito de sessão do cubo Adventure Works que contém a medida de Valor de Vendas de Revendedor, a dimensão de Revendedor, a dimensão de Produto, a dimensão de Geografia e a dimensão de Data. Dentro deste cubo de sessão, são criados dois grupos; um grupo inclui países/regiões na Europa e um grupo inclui grupos na América do Norte. Este exemplo é uma versão simplificada de uma declaração CREATE SESSION CUBE emitida pelo Microsoft Excel quando um utilizador cria um agrupamento personalizado de membros.

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] )   
            )   
   )