S, які використовуються для логічної кон'юнкції (операція І), логічної диз'юнкції (операція АБО), логічного заперечення і порівняння. Ці оператори використовують два вирази MDX в якості аргументів і повертають значення TRUE або FALSE як результат логічної операції. Дані логічні оператори зазвичай використовуються у виразах MDX, призначених для забезпечення захисту комірки або вимірювання від несанкціонованого доступу.
. 3.2 Функції
Функції MDX можуть використовуватися у виразах або запитах MDX. Функції MDX допомагають звертатися до деяких загальних операціями, які потрібні в ваших запитах або виразах MDX.
Функції набору застосовуються для виконання операцій з наборами кортежів. Такі функції використовують в якості аргументів набори кортежів, і часто результатом їх виконання також є набір. Найбільш широко вживаними з функцій набору є функції CrossJoin і Filter.
Для функції CrossJoin використовується наступний синтаксис. (Вираженіе_набора [, Вираженіе_набора ...])
?? ункции CrossJoin повертає всі можливі комбінації членів наборів, вказаних в якості її аргументів.
SELECT Measures. [Internet Sales Amount] ON COLUMNS, ({Product. [Product Line]. [Product Line] .MEMBERS},
{[Customer]. [Country] .MEMBERS}) on ROWS [Adventure Works]
Цей запит створює векторний добуток кожного члена у вимірі Product (Товар) з кожним членом вимірювання Customer (Клієнт) і повертає для кожної отриманої пари значення розмірності Internet Sales Amount (Сума Інтернет-продажів).
Функція Filter використовує два аргументи: вираз, що задає набір, і логічне вираз, що визначає умова відбору. Логічний вираз застосовується до кожного елементу набору і повертає набір елементів, що задовольняє логічному умові. Для функції Filter використовується наступний синтаксис. (Вираженіе_набора, {логічний_вираз |
[CAPTION | KEY | NAME]=Строковое_вираженіе})
SELECT Measures. [Internet Sales Amount] ON COLUMNS, (CrossJoin ({Product. [Product Line]. [Product Line] .MEMBERS},
{[Customer]. [Country] .MEMBERS}), [Internet Sales Amount] gt; 2000000) on ROWS [Adventure Works]
Цей запит повертає інформацію тільки про ті товари, для яких суми продажів по кожній з країн (і загальна сума по всіх країнах) перевищують $ 2000000.
Функції члена вимірювання використовуються для виконання операцій з членами, таких як витяг поточного члена, попереднього, батьківського, дочірнього, наступного члена і т.д. Всі функції даної категорії повертають член. Одна з найбільш часто використовуваних функцій цієї категорії називається ParallelPeriod.
Функція ParallelPeriod дозволяє витягти член вимірювання типу Time (Час), грунтуючись на заданому члені і певних умовах. Для функції ParallelPeriod використовується наступний синтаксис. ([Вираженіе_уровня [, Чісловое_вираженіе [,
Вираженіе_члена]]])
Функція ParallelPeriod використовується для порівняння значень розмірності щодо різних часових періодів.
Числові функції надзвичайно корисні при визначенні параметрів запиту MDX або створенні обчислюваних розмірностей. У цій групі представлено безліч статистичних функцій, включаючи функції для розрахунку стандартного середньоквадратичного відхилення, вибіркової дисперсії і кореляції. Найбільш часто вживаними з числових функцій є проста функція під назвою Count і DistinctCount. Функція Count використовується для підрахунку кількості елементів у такому об'єкті, як вимірювання, кортеж, набір або рівень. Функція DistinctCount у свою чергу використовує як аргумент вираз, що задає набір кортежів, і повертає число індивідуальних (недублірующіхся) елементів у вказаному наборі, а не загальне число елементів. Нижче показаний синтаксис, використовуваний обома згаданими функціями. (Вимірювання | Кортеж | Набір | Рівень) (Вираженіе_набора)
Щоб витягти імена наборів, кортежів та членів у формі рядка, можна використовувати спеціальні функції, наприклад, MemberToStr ( lt; Вираженіе_члена gt;). А для виконання зворотного перетворення, тобто перетворення строкового значення у вираз, що повертає член вимірювання, можна використовувати функцію StrToMember ( lt; Рядок gt;). MEMBER Measures.CustomerCount AS DistinctCount (([Customer]. [Customer] .MEMBERS,
[Product]. [Product Line] .Mountain, Internet Sales )) Measures.CustomerCount ON COLUMNS [Adventure Works]
Функція DistinctCount підраховує число неповторюваних членів вимірювання Customer (Клієнт), які відповідають клієнтам, що здобувало товари з товарної лінії Mountain (Гірські). Якщо клієнт набував това...