Поделиться через


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

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

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

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

  • Реализуют решение между значениями или выражениями.

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

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

Для выполнения операций этого типа

Используйте

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

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

Сложение, вычитание, умножение, деление.

Арифметические операторы

Проверка истинности условия, такого как AND, OR, NOT и XOR.

Побитовые операторы

Сравнение значения с другим значением или выражением.

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

Или постоянное, или временное объединение двух строк в одну.

Операторы объединения

Или постоянное, или временное объединение двух выражений набора в один набор.

Операторы наборов

Выполнение операции над одним операндом.

Унарные операторы

ПримечаниеПримечание

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

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

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

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

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

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

  • IS

  • AS

  • DISTINCT

  • :

  • ^

  • /, *

  • +, -

  • EXISTING

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

  • NOT

  • AND

  • XOR

  • OR

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

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

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

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

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

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

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

Исходный тип

Требуемый тип

Преобразование

Уровень

Набор

<level>.members

Иерархия

Элемент

<hierarchy>.defaultmember

Элемент

Кортеж

(<Member>)

Кортеж

Элемент

<tuple>.item(0)

Кортеж

Скалярное значение

<tuple>.value