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


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

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

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

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

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

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

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

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

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