Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В многомерных выражениях (MDX) операторы позволяют выполнять следующие действия:
Измените данные — либо навсегда, либо временно.
Ищите значения или объекты, соответствующие заданному условию.
Реализуйте выбор между значениями или выражениями.
Проверьте конкретные условия перед началом или совершением транзакции, либо перед выполнением конкретных операторов.
MDX поддерживает операторы, перечисленные в следующей таблице:
| Для выполнения такого типа операции | Использование |
|---|---|
| Присваивает значение переменной или связывает столбец результатов с псевдонимом. | Операторы присваивания |
| Сложение, вычитание, умножение, деление. | Арифметические операторы |
| Проверьте истинность условий, таких как AND, OR, NOT и XOR. | Битовые операторы |
| Сравните значение с другим значением или выражением. | Операторы сравнения |
| Либо постоянно, либо временно объединяйте две струны в одну струну. | Операторы конкатенации |
| Либо постоянно, либо временно объединяйте два выражения множества в один набор. | Настройка операторов |
| Выполняет операцию на одном операнде. | Унарные операторы |
Замечание
В запросах любой, кто видит данные в кубе для использования с каким-либо оператором, может выполнять операции. Однако для успешной смены данных нужны соответствующие права.
При использовании нескольких операторов важен порядок, в котором MDX оценивает операторы. Аналогично, пользователь операторов может потребовать, чтобы один тип данных был преобразован в другой тип данных перед оценкой операторов.
Оценка комплексных выражений
Вы можете построить выражение, используя операторы для объединения нескольких меньших выражений. В этих сложных выражениях MDX оценивает операторы в порядке на основе определения приоритета оператора, используемого в Analysis Services. MDX выполняет операторов с более высоким приоритетом, а затем операторов с меньшим приоритетом.
Понимание приоритета оператора
Следующий список показывает приоритет операторов от самого высокого к наименьшему. Операторы в одной строке равны по приоритету и вычисляются слева направо, если только не предусмотрено иное в скобках:
ЕСТЬ
:
^
/, *
+, -
<>, >=, =, <=, >, <
NOT
AND
XOR
OR
Для получения дополнительной информации об операторах в MDX см. MDX Operator Reference (MDX).
Определение результатов
Когда вы объединяете простые выражения для создания сложного выражения, правила операторов в сочетании с правилами приоритета типов данных определяют тип данных полученного значения.
Если результатом является значение символа или Юникода, правила операторов в сочетании с правилами приоритета сбора определяют сколирование результата. Для получения дополнительной информации о колляциях см. раздел Languages and Collations (Analysis Services)».
Существуют также правила, определяющие точность, масштаб и длину результата на основе точности, масштаба и длины простых выражений.
Преобразование типов данных
MDX неявно преобразует объект в другой тип, когда этот объект используется в выражении, требующем другого типа. Следующая таблица определяет правила преобразования для каждого объекта.
| Исходный тип | Требуется тип | Conversion |
|---|---|---|
| Уровень | Установить | <level.members> |
| Hierarchy | Член | <hierarchy.defaultmember> |
| Член | Tuple | (<Член)> |
| Tuple | Член | <tuple.item>(0) |
| Tuple | Скаляр | <tuple.value> |