Compartilhar via


Instrução CREATE SUBCUBE (MDX)

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

Sintaxe

CREATE SUBCUBE Cube_Name AS Select_Statement
                                                  | NON VISUAL ( Select_Statement )

Argumentos

  • Cube_Name
    A expressão de cadeia de caracteres válida que fornece o nome do cubo ou perspectiva que está sendo restrito, o qual se transforma no nome do subcubo.

  • Select_Statement
    Uma expressão SELECT de linguagem MDX válida que não contém as cláusulas WITH, NON EMPTY ou HAVING e não solicita propriedades de dimensão ou célula.

    Consulte Instrução SELECT (MDX) para obter uma explicação detalhada da sintaxe nas instruções Select e na cláusula NON VISUAL.

Comentários

Quando os membros padrão são excluídos na definição de um subcubo, as coordenadas são alteradas de modo correspondente. Para os atributos que podem ser agregados, o membro padrão é movido para o membro [All]. Para os 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 um exemplo de combinações de subcubo e membro padrão.

Membro padrão original

Pode ser agregado

Subseleção

Membro padrão revisado

Time.Year.All

Sim

{Time.Year.2003}

Nenhuma alteração

Time.Year.[1997]

Sim

{Time.Year.2003}

Time.Year.All

Time.Year.[1997]

Não

{Time.Year.2003}

Time.Year.[2003]

Time.Year.[1997]

Sim

{Time.Year.2003, Time.Year.2004}

Time.Year.All

Time.Year.[1997]

Não

{Time.Year.2003, Time.Year.2004}

Time.Year.[2003] ou

Time.Year.[2004]

Os membros [All] sempre existirão em um subcubo.

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

Para obter mais informações sobre subcubos, consulte Criando subcubos em MDX (MDX).

Exemplo

O exemplo a seguir cria um subcubo que restringe o espaço de cubo aparente aos membros que existem com o país Canadá. Em seguida, a função MEMBERS é usada para retornar todos os membros do nível País da hierarquia Geografia definida pelo usuário, retornando somente o 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 do cubo aparente a membros {Accessories, Clothing} em Products.Category e {[Value Added Reseller], [Warehouse]} em Resellers.[Business Type].

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 and Resellers.[Business Type] com o seguinte MDX:

select [Category].members on 0,

[Business Type].members on 1

from [Adventure Works]

where [Measures].[Reseller Sales Amount]

Gera o os seguintes resultados:

 

Todos os Produtos

Acessórios

Roupas

Todos os Revendedores

$2,031,079.39

$506,172.45

$1,524,906.93

Revendedor de Valor Agregado

$767,388.52

$175,002.81

$592,385.71

Depósito

$1,263,690.86

$331,169.64

$932,521.23

Descartar e recriar o subcubo usando a cláusula NON VISUAL criará um subcubo que mantém os totais verdadeiros para todos os membros em Products.Category and Resellers.[Business Type], quer eles estejam visíveis ou não 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 acima:

select [Category].members on 0,

[Business Type].members on 1

from [Adventure Works]

where [Measures].[Reseller Sales Amount]

Gera o os seguintes resultados diferentes:

 

Todos os Produtos

Acessórios

Roupas

Todos os Revendedores

$80,450,596.98

$571,297.93

$1,777,840.84

Revendedor de Valor Agregado

$34,967,517.33

$175,002.81

$592,385.71

Depósito

$38,726,913.48

$331,169.64

$932,521.23

A coluna e a linha [All Products] e [All Resellers], respectivamente, contêm totais de todos os membros, não só dos visíveis.

Consulte também

Referência

Instrução DROP SUBCUBE (MDX)

Instrução SELECT (MDX)

Conceitos

Principais conceitos em MDX (Analysis Services)

Outros recursos

Instruções de script MDX (MDX)