Операторы (синтаксис MDX)

В многомерных выражениях (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>