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


Выражения куба и вложенного куба

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

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

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

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

Выражения куба могут встречаться в нескольких местах. В инструкции 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;

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

Выражения вложенного куба

Выражение вложенного куба может содержать идентификатор вложенного куба или инструкцию многомерных выражений, возвращающую вложенный куб. Если выражение вложенного куба содержит идентификатор вложенного куба, то это будет простое выражение. Если оно содержит инструкцию многомерных выражений, которая возвращает вложенный куб, то это сложная инструкция. Например, инструкция многомерных выражений 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, чтобы ограничить назначение вложенным кубом, состоящим из [Measures].[Internet Sales Amount]:

SCOPE([Measures].[Internet Sales Amount]);

This=1;

END SCOPE;

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

См. также

Базовый многомерный запрос (многомерные выражения)
Создание подкубов в многомерных выражениях (многомерные выражения)
Инструкция CREATE SUBCUBE (многомерные выражения)
Выражения (многомерные выражения)
Оператор SCOPE (многомерные выражения)