Definição de dados MDX – CREATE SUBCUBE

Redefine o espaço de cubos de um cubo ou subcubo especificado para um subcubo especificado. Essa instrução altera o espaço do cubo aparente para operações subsequentes.

Sintaxe

  
CREATE SUBCUBE Cube_Name AS Select_Statement  
                                                  | NON VISUAL ( Select_Statement )  

Argumentos

Cube_Name
A expressão válida da string que fornece o nome do cubo ou perspectiva que está sendo restringida, que se torna o nome do subcubo.

Select_Statement
Uma expressão válida Multidimensional Expressions (MDX) SELECT que não contenha cláusulas WITH, NON EMPTY ou HAVE, e não solicite propriedades de dimensão ou célula.

Veja a Instrução SELECT (MDX) para uma explicação sintaxística detalhada sobre instruções Select e a cláusula NON VISUAL .

Remarks

Quando os membros padrão são excluídos na definição de um subcubo, as coordenadas mudam correspondentemente. Para atributos que podem ser agregados, o membro padrão é movido para o membro [Todos]. Para atributos que não podem ser agregados, o membro padrão é movido para um membro que existe no subcubo. A tabela a seguir contém exemplos de combinações de subcubos e membros padrão.

Membro padrão original Pode ser agregado Subseleção Membro padrão revisado
Tempo.Ano.Todos Sim {Time.Year.2003} Nenhuma alteração
Tempo. Ano. [1997] Sim {Time.Year.2003} Tempo.Ano.Todos
Tempo. Ano. [1997] No {Time.Year.2003} Tempo. Ano. [2003]
Tempo. Ano. [1997] Sim {Tempo.Ano.2003, Tempo.Ano.2004} Tempo.Ano.Todos
Tempo. Ano. [1997] No {Tempo.Ano.2003, Tempo.Ano.2004} De qualquer vez. Ano. [2003] ou

Tempo. Ano. [2004]

[Todos] os membros sempre existirão em um subcubo.

Objetos de sessão criados no contexto de um subcubo são descartados quando o subcubo é descartado.

Para mais informações sobre subcubos, veja Construção de Subcubos em MDX (MDX).

Exemplo

O exemplo a seguir cria um subcubo que restringe o espaço aparente do cubo a membros que existem com o país do Canadá. Em seguida, utiliza a função MEMBERS para retornar todos os membros do nível de país da hierarquia definida pelo usuário de Geografia – retornando apenas o país do Canadá.

CREATE SUBCUBE [Adventure Works] AS  
   SELECT [Geography].[Country].&[Canada] ON 0  
   FROM [Adventure Works]  
  
SELECT [Geography].[Country].[Country].MEMBERS ON 0  
   FROM [Adventure Works]  
  

O exemplo a seguir cria um subcubo que restringe o espaço aparente do cubo a {Acessórios, Roupas} membros em Products.Category e {[Revendedor de Valor Agregado], [Armazém]} em Revendedores. [Tipo de Negócio].

CREATE SUBCUBE [Adventure Works] AS  
Select {[Category].Accessories, [Category].Clothing} on 0,  
{[Business Type].[Value Added Reseller], [Business Type].[Warehouse]} on 1  
from [Adventure Works]  

Consultando o subcubo para todos os membros em Products.Category e Revendedores. [Tipo de Negócio] com o seguinte MDX:

select [Category].members on 0,  
[Business Type].members on 1  
from [Adventure Works]  
where [Measures].[Reseller Sales Amount]  

Produz os seguintes resultados:

Tipo de Negócio + Categoria Todos os produtos Acessórios Roupa
Todos os Revendedores $2.031.079,39 $506.172,45 $1.524.906,93
Revendedor de Valor Adicionado $767.388,52 US$ 175.002,81 $592.385,71
Armazém $1.263.690,86 $331.169,64 $932.521,23

Eliminar e recriar o subcubo usando a cláusula NON VISUAL criará um subcubo que mantém os totais reais para todos os membros em Products.Category e Revendedores. [Tipo de Negócio], estejam ou não visíveis no subcubo.

CREATE SUBCUBE [Adventure Works] AS  
NON VISUAL (Select {[Category].Accessories, [Category].Clothing} on 0,  
{[Business Type].[Value Added Reseller], [Business Type].[Warehouse]} on 1  
from [Adventure Works])  

Emitindo a mesma consulta MDX mencionada acima:

select [Category].members on 0,  
[Business Type].members on 1  
from [Adventure Works]  
where [Measures].[Reseller Sales Amount]  

Produz os seguintes resultados diferentes:

Tipo de Negócio + Categoria Todos os produtos Acessórios Roupa
Todos os Revendedores US$ 80.450.596,98 $571.297,93 $1.777.840,84
Revendedor de Valor Adicionado $34.967.517,33 US$ 175.002,81 $592.385,71
Armazém $38.726.913,48 $331.169,64 $932.521,23

A coluna e a linha [Todos os Produtos] e [Todos os Revendedores], respectivamente, contêm totais para todos os membros, não apenas para os visíveis.