Запрос многомерных выражений — базовый запрос

Запрос многомерных выражений — базовый запрос

Базовый запрос многомерных выражений (MDX) — это наиболее часто используемый запрос в МНОГОМЕРных выражениях. Чтобы получить основательные знания о применении многомерных выражений для запроса многомерных данных, необходимо понять, как в инструкции многомерных выражений SELECT определяется результирующий набор, синтаксис инструкции SELECT и как с ее помощью создавать простые запросы.

Указание результирующего набора

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

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

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

Имя куба, задающего контекст многомерного запроса.

Набор элементов или кортежей, включаемых в ось среза. Дополнительные сведения о осям срезов и запросах см. в разделе ограничитель запроса с помощью осей запроса и среза ()многомерных выражений .

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

Предложение SELECT, определяющее оси запроса в инструкции многомерных выражений SELECT. Дополнительные сведения о построении осей запроса в предложении SELECT см. в разделе Определение содержимого оси запроса (многомерные выражения).

Предложение FROM, определяющее, к какому кубу будет направлен запрос. Дополнительные сведения о предложении FROM см. в разделе Инструкция SELECT (многомерные выражения).

Необязательное предложение WHERE, определяющее, какие элементы или кортежи используются на оси среза для ограничения возвращаемых данных. Дополнительные сведения о построении осей среза в предложении WHERE см. в разделе Определение содержимого оси среза (многомерные выражения).

Дополнительные сведения о различных предложениях инструкции SELECT см. в разделе Инструкция SELECT (многомерные выражения).

Синтаксис инструкции SELECT

В следующей конструкции иллюстрируется синтаксис базовой инструкции SELECT с использованием предложений SELECT, FROM и WHERE:

Инструкция многомерных выражений SELECT поддерживает дополнительный синтаксис, например: ключевое слово WITH, использование функций многомерных выражений для создания вычисляемых элементов, включаемых в ось запроса или среза, а также возможность возвращать значения свойств определенных ячеек как части запроса. Дополнительные сведения об инструкции SELECT многомерных выражений см. в разделе Инструкция SELECT (многомерные выражения).

Сравнение синтаксиса инструкции многомерных выражений SELECT с синтаксисом SQL

Формат синтаксиса для инструкции многомерных выражений SELECT сходен с синтаксисом ее аналога в SQL. Тем не менее есть несколько серьезных отличий.

Синтаксис многомерных выражений различает наборы, окружающие кортежи или элементы с фигурными скобками (символами ). Дополнительные сведения о синтаксисе элементов, кортежей и наборов см. в разделе Работа с элементами, кортежами и наборами ()многомерных выражений .

Запросы многомерных выражений могут содержать 0, 1,2 или до 128 осей запросов в инструкции SELECT. Поведение всех осей одинаково, в отличие от SQL, где имеются значительные различия в поведении строк и столбцов в запросе.

Как и в SQL-запросе, предложение FROM указывает источник данных для запроса многомерных выражений. Однако предложение многомерных выражений FROM ограничивается одним кубом. Сведения из других кубов могут быть получены по значению с помощью функции LookupCube.

Предложение WHERE определяет ось среза в многомерном запросе. Оно действует наподобие невидимой дополнительной оси в запросе, создавая срезы значений в ячейках результирующего набора, в то время как в SQL предложение WHERE не влияет напрямую на ось строк в запросе. Функциональные возможности предложения SQL WHERE доступны через другие функции многомерных выражений, такие как функция FILTER.

Пример инструкции SELECT

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

В этом примере запрос содержит следующие сведения о результирующем наборе:

Предложение SELECT задает оси запроса как элементы Sales Amount и Tax Amount в измерении Measures и как элементы 2002 и 2003 в измерении Date.

Предложение FROM указывает, что источником данных является куб Adventure Works.

Предложение WHERE определяет ось среза как элемент Southwest измерения Sales Territory.

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

📎📎📎📎📎📎📎📎📎📎