Поделиться через


Использование выражений кубов и вложенных кубов

Выражения куба и подкуба используются в инструкциях многомерных выражений для определения, управления или извлечения данных из куба или подкуба.

Выражения куба

Выражение куба содержит идентификатор куба или ключевое слово CURRENTCUBE, поэтому может быть простым выражением. Многие операторы многомерных выражений используют ключевое слово CURRENTCUBE для идентификации текущего контекста куба, а не для идентификатора куба.

Идентификатор куба отображается как Cube_Name в описаниях нотации BNF инструкций многомерных выражений.

Выражения куба могут отображаться в нескольких местах. В инструкции MDX SELECT они указывают куб, из которого извлекаются данные. В следующем примере запроса выражение [Adventure Works] ссылается на куб этого имени:

SELECT [Measures].[Internet Sales Amount] ON COLUMNS  
FROM [Adventure Works]  

В инструкции CREATE MEMBER выражение куба указывает, в каком кубе должен отображаться вычисляемый элемент. В следующем примере инструкция создает вычисляемую меру для измерения мер куба Adventure Works:

CREATE MEMBER [Adventure Works].[Measures].[Test] AS 1

При использовании инструкции CREATE MEMBER внутри скрипта многомерных выражений имя куба можно заменить ключевым словом CURRENTCUBE, так как куб, к которому должен быть создан вычисляемый элемент, должен быть тем же кубом, к которому принадлежит скрипт многомерных выражений, как показано в следующем примере:

CREATE MEMBER CURRENTCUBE.[Measures].[Test] AS 1;

Это упрощает копирование и вставку определений вычисляемых элементов из одного куба в другой, так как имя куба больше не закодировано.

Выражения subCube

Выражение подкуба может содержать идентификатор подкуба или инструкцию многомерных выражений, возвращающую вложенный куб. Если выражение subcube содержит идентификатор подкуба, это будет простое выражение. Если он содержит инструкцию многомерных выражений, которая возвращает вложенный куб, это сложная инструкция. Например, инструкция МНОГОмерных выражений SELECT возвращает подкуб и может использоваться, где разрешены выражения вложенных кубов, как показано в следующем примере:

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

Это использование инструкции SELECT в предложении FROM также называется вложенным выделением.

Другой распространенный сценарий, когда возникают выражения вложенных кубов, заключается в создании назначений с областью действия в скрипте многомерных выражений. В следующем примере инструкция SCOPE используется для ограничения назначения на вложенный куб, состоящий из [Меры]. [Объем продаж через Интернет]:

SCOPE([Measures].[Internet Sales Amount]);  
This=1;  
END SCOPE;  

Идентификатор подкуба отображается как Subcube_Name. в описаниях нотации BNF инструкций многомерных выражений.

См. также

базовый многомерный запрос (многомерные выражения)
сборки подкубов в многомерных выражениях (многомерных выражений)
инструкции CREATE SUBCUBE (МНОГОМЕРНЫЕ выражения)
выражений
инструкции SCOPE (многомерные выражения)