Определение контекста куба в запросе (многомерные выражения)
Каждый запрос многомерных выражений выполняется в заданном контексте куба. Контекст определяет элементы, вычисляемые в выражениях запроса.
В инструкции SELECT контекст куба определяется с помощью предложения FROM. В качестве контекста может выступать весь куб или его вложенный куб. Указав контекст куба при помощи предложения FROM, можно расширять или ограничивать его при помощи дополнительных функций.
Примечание |
---|
Инструкции SCOPE и CALCULATE также позволяют управлять контекстом куба в сценарии многомерных выражений. Дополнительные сведения см. в разделе Основные понятия о сценариях многомерных выражений (многомерные выражения). |
Синтаксис предложения FROM
Предложение FROM имеет следующий синтаксис:
<SELECT subcube clause> ::=
Cube_Identifier |
(SELECT [
* |
( <SELECT query axis clause> [ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause> <SELECT slicer axis clause> )
Обратите внимание на то, что в этом синтаксисе куб или вложенный куб, над которым выполняется инструкция SELECT, описывается предложением <SELECT subcube clause>.
Простым примером использования предложения FROM является запрос, обрабатывающий весь образец куба Adventure Works. Предложение FROM будет иметь следующий вид:
FROM [Adventure Works]
Дополнительные сведения о предложении FROM в инструкции многомерных выражений SELECT см. в разделе Инструкция SELECT (многомерные выражения).
Уточнение контекста
Хотя в предложении FROM контекст задается внутри одного куба, это не запрещает одновременно работать с данными из нескольких кубов.
Для получения данных из кубов, которые не входят в заданный контекст куба, применяется функция многомерных выражений LookupCube. Кроме того, для временного сужения контекста при вычислении запроса можно использовать такие функции как Filter.