Usando expressões de cubo e subcubo
Você usa expressões de cubo e subcubo em instruções MDX (Multidimensional Expressions) para definir, manipular ou recuperar dados de um cubo ou subcubo.
Expressões do cubo
Uma expressão de cubo contém um identificador de cubo ou a palavra-chave CURRENTCUBE e, portanto, só pode ser expressões simples. Muitas instruções MDX usam a palavra-chave CURRENTCUBE para identificar o contexto do cubo atual em vez de exigir um identificador de cubo.
Um identificador de cubo aparece como Cube_Name nas descrições de notação BNF de instruções MDX.
As expressões do cubo podem aparecer em vários lugares. Em uma instrução MDX SELECT, eles especificam o cubo do qual os dados devem ser recuperados. Na consulta de exemplo a seguir, a expressão [Adventure Works] refere-se ao cubo desse nome:
SELECT [Measures].[Internet Sales Amount] ON COLUMNS
FROM [Adventure Works]
Na instrução CREATE MEMBER, a expressão de cubo especifica em qual cubo o membro calculado que você está criando deve aparecer. No exemplo a seguir, a instrução cria uma medida calculada na dimensão Medidas do cubo Adventure Works:
CREATE MEMBER [Adventure Works].[Measures].[Test] AS 1
Quando você usa a instrução CREATE MEMBER dentro de um script MDX, o nome do cubo pode ser substituído pela palavra-chave CURRENTCUBE, uma vez que o cubo onde o membro calculado deve ser criado deve ser o mesmo cubo ao qual o script MDX pertence, conforme mostrado no exemplo a seguir:
CREATE MEMBER CURRENTCUBE.[Measures].[Test] AS 1;
Isso facilita copiar e colar definições de membros calculados de um cubo para outro, já que o nome do cubo não é mais codificado.
Expressões do SubCube
Uma expressão de subcubo pode conter um identificador de subcubo ou uma instrução MDX que retorna um subcubo. Se a expressão de subcubo contiver um identificador de subcubo, será uma expressão simples. Se ele contém uma instrução MDX que retorna um subcubo, é uma instrução complexa. A instrução MDX SELECT, por exemplo, retorna um subcubo e pode ser usada onde expressões de subcubo são permitidas, conforme mostrado no exemplo a seguir:
SELECT [Measures].MEMBERS ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM
(SELECT [Measures].[Internet Sales Amount] ON COLUMNS,
[Date].[Calendar Year].&[2004] ON ROWS
FROM [Adventure Works])
Esse uso de uma instrução SELECT na cláusula FROM também é conhecido como subselect.
Outro cenário comum em que expressões de subcubo são encontradas é ao fazer atribuições com escopo em um script MDX. No exemplo a seguir, a instrução SCOPE é usada para limitar uma atribuição a um subcubo que consiste em [Measures]. [Valor das vendas pela Internet]:
SCOPE([Measures].[Internet Sales Amount]);
This=1;
END SCOPE;
Um identificador de subcubo aparece como Subcube_Name. em descrições de notação BNF de instruções MDX.
Ver também
A consulta MDX básica (MDX)
Construindo subcubos em MDX (MDX)
Instrução CREATE SUBCUBE (MDX)
Expressões (MDX)
Declaração SCOPE (MDX)