sion gt; ...]] [ lt; cube_expression gt;]
[WHERE [slicer_expression]]
де:
· axis_specification - містить опис осей куба;
· cube_specification - містить назву куба;
· slicer_specification - містить опис зрізів куба.
Ключові слова WITH, SELECT, FROM і WHERE в поєднанні з виразами, наступними за ними, прийнято називати пропозиціями (clause). У представленому вище шаблоні запиту MDX в квадратні дужки укладені необов'язкові елементи, які можуть бути присутніми в одних запитах і відсутніми в інших.
. 2.1 Вираз SELECT
Інструкція SELECT мови MDX використовується для добування підмножини багатовимірних даних з сервера OLAP. Використовується наступний синтаксис для інструкції SELECT:
SELECT [ lt; axis_expression gt ;, [ lt; axis_expression gt; ...]]
Вираз axis_expression, вказане після ключового слова SELECT, посилається на вимірювання, що представляє ті дані, які треба витягти. Ці виміри називають осьовими вимірами (axis dimensions), оскільки представлені ними дані проектуються на відповідні осі. Для вираження axis_expression використовується наступний синтаксис:
lt; axis_expression gt; := Lt; набір gt; ON Axis (номер осі)
Мова MDX надає можливість вказати до 128 осей в інструкції SELECT. Перші п'ять осей мають псевдоніми. Це осі COLUMNS (стовпці), ROWS (рядки), PAGES (сторінки), SECTIONS (розділи) і CHAPTERS (глави). Наступні осі вказуються за допомогою слова Axis, за яким слідує номер осі. Розглянемо наступний прімер.Measures. [Internet Sales Amount] ON COLUMNS,
[Customers]. [Country] .MEMBERS on ROWS,
[Product]. [Product Line] .MEMBERS on PAGES
У наведеній вище інструкції SELECT вказані трьох осі. У цьому прикладі дані з вимірів Measures, Customers і Product відображаються на трьох осях, щоб сформувати осьові вимірювання.
При визначенні інструкції SELECT створюється осьове вимір. Інструкція SELECT призначає набір осях COLUMNS і ROWS. Осьове вимір витягує і містить дані для кількох членів, а не для єдиного члена.
. 2.2 Вираз FROM
Пропозиція FROM в запиті MDX визначає куб, з якого здобуваються дані для аналізу. Пропозиція FROM обов'язково для будь-якого запиту MDX.
Для пропозиції FROM використовується наступний синтаксис: lt; cube_expression gt;
Вираз cube_expression позначає ім'я куба або підрозділу куба, з якого здобуваються дані. Куб, вказаний у пропозиції FROM, називають контекстом куба (cube context), і запит MDX виконується всередині цього контексту.
SELECT [Measures]. [Internet Sales Amount] ON COLUMNS
FROM [Adventure Works]
Вище наведено приклад правильного запиту MDX, який витягує розмірність [Internet Sales Amount] по осі X. Зазначена розмірність витягується з контексту куба [Adventure Works].
2.2.3 Вираз WHERE
Для завдання умови відбору застосовується пропозицію WHERE. Інструкція WHERE обмежує набір результатів запиту за допомогою деякого критерію.
SELECT Measures. [Sales] ON COLUMS,
[Product]. [Product Line] .MEMBERS on ROWSProductsCube ([Product]. [Color]. [Silver])
Два стовпця, обираних запитом SQL, тепер представлені по осях COLUMNS і ROWS.
Вимірювання зрізу (slicer dimension) створюється при визначенні пропозиції WHERE; це фільтр, який виключає небажані вимірювання та члени. Вимірювання зрізу включає і всі ті осі куба, які не включені явно в осі, зазначені в ухвалі запиту. Задані за замовчуванням члени ієрархій, які не включені в осі запиту, використовуються в осях зрізу даних. результатом вимірювання зрізу є одна кортеж. Якщо в осі зрізу визначено декілька кортежів, то вони будуть оброблені як набір, а їх значення - агреговані з використанням розмірності, заданої в запиті, і функції агрегації з цієї розмірності.
. 2.4 Вираз WITH
Типовими обчисленнями, які створюються з використанням пропозиції WITH, є іменовані набори і обчислювані члени. Крім цього, пропозиція WITH забезпечує можливість визначати обчислення по осередках, завантажувати куб в кеш Analysis Services для поліпшення виконання запиту, змінювати вміст комірок за допомогою виклику функцій із зовнішніх бібліотек.
Для пропозиції WITH використовується наступний синтаксис.
[WITH lt; formula_express...