Операторы (синтаксис многомерных выражений)

В многомерных выражениях операторы выполняют следующие действия:

  • Изменяют данные, постоянно или временно.

  • Выполняют поиск значений или объектов, соответствующих указанному условию.

  • Выполнение операции выбора между значениями или выражениями.

  • Проверяют особые условия перед началом или фиксацией транзакций либо перед выполнением определенных инструкций.

Многомерные выражения поддерживают операторы, перечисленные в следующей таблице.

Для выполнения операций этого типа Использовать
Назначения значения переменной или связывания столбцов результирующего набора данных с псевдонимом. Операторы присваивания
Сложение, вычитание, умножение, деление. Арифметические операторы
Проверка истинности условия, такого как AND, OR, NOT и XOR. Битовые операторы
Сравнение значения с другим значением или выражением. Операторы сравнения
Или постоянное, или временное объединение двух строк в одну. Операторы объединения
Или постоянное, или временное объединение двух выражений набора в один набор. Операторы набора
Выполнение операции над одним операндом. Унарные операторы

Примечание

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

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

Вычисление сложных выражений

Построить выражение можно, объединив несколько меньших выражений с помощью операторов. В этих сложных выражениях многомерное выражение вычисляет операторы в порядке, основанном на определении приоритета операторов, используемого Службы Analysis Services . Многомерное выражение выполняет операторы с высокой очередностью раньше, чем операторы с низкой очередностью.

Основные сведения об очередности операторов

В следующем списке показана очередность операторов, от высшей очередности к низшей. Операторы в одной строке имеют равную очередность и вычисляются слева направо, если иной порядок не задан скобками:

  • IS

  • :

  • ^

  • /, *

  • +, –

  • <>, >=, <=, > , <

  • NOT

  • AND

  • XOR

  • OR

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

Определение результатов

При формировании сложного выражения путем объединения простых выражений тип данных результирующего значения определяется правилами для операторов в сочетании с правилами для очередности типов данных.

Если результатом является символ или значение Юникода, то режим сопоставления результата определяется правилами для операторов в сочетании с очередностью параметров сортировки. Дополнительные сведения о параметрах сортировки см. в разделе языки и параметры сортировки (Analysis Services).

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

Преобразование типов данных

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

Исходный тип Требуемый тип Преобразование
Level Присвойте параметру <level>. Members
Иерархия Член <hierarchy>. DefaultMember
Член Кортеж (<Member>)
Кортеж Член <tuple>. Item (0)
Кортеж скалярная <tuple>. значение

См. также

Справочник по операторам многомерных выражений ()многомерных выражений
Синтаксические элементы в многомерных выражениях (многомерные выражения)