Операторы (синтаксис многомерных выражений)
В многомерных выражениях операторы выполняют следующие действия:
- Изменяют данные, постоянно или временно.
- Выполняют поиск значений или объектов, соответствующих указанному условию.
- Реализуют решение между значениями или выражениями.
- Проверяют особые условия перед началом или фиксацией транзакций либо перед выполнением определенных инструкций.
Многомерные выражения поддерживают операторы, перечисленные в следующей таблице.
Для выполнения операций этого типа | Используйте |
---|---|
Назначения значения переменной или связывания столбцов результирующего набора данных с псевдонимом. |
|
Сложение, вычитание, умножение, деление. |
|
Проверка истинности условия, такого как AND, OR, NOT и XOR. |
|
Сравнение значения с другим значением или выражением. |
|
Или постоянное, или временное объединение двух строк в одну. |
|
Или постоянное, или временное объединение двух выражений набора в один набор. |
|
Выполнение операции над одним операндом. |
![]() |
---|
Операции в запросах может выполнять каждый, кто видит в кубе данные, используемые с оператором любого типа. Однако изменить данные невозможно без соответствующих разрешений. |
При использовании нескольких операторов важен порядок, в котором многомерное выражение вычисляет операторы. Подобным образом пользователь операторов может потребовать преобразования одного типа данных в другой тип данных перед вычислением операторов.
Вычисление сложных выражений
Построить выражение можно, объединив несколько меньших выражений с помощью операторов. В таких сложных выражениях многомерное выражение вычисляет операторы в порядке, соответствующем определению очередности операторов, используемому службами Microsoft SQL Server 2005 Analysis Services (SSAS). Многомерное выражение выполняет операторы с высокой очередностью раньше, чем операторы с низкой очередностью.
Основные сведения об очередности операторов
В следующем списке показана очередность операторов, от высшей очередности к низшей. Операторы в одной строке имеют равную очередность и вычисляются слева направо, если иной порядок не задан скобками:
- IS
- AS
- DISTINCT
- :
- ^
- /, *
- +, -
- EXISTING
- <>, >=, =, <=, >, <
- NOT
- AND
- XOR
- OR
Дополнительные сведения об операторах в многомерных выражениях см. в разделе Справочник по операторам многомерных выражений.
Определение результатов
При формировании сложного выражения путем объединения простых выражений тип данных результирующего значения определяется правилами для операторов в сочетании с правилами для очередности типов данных.
Если результатом является символ или значение Юникода, то режим сопоставления результата определяется правилами для операторов в сочетании с очередностью параметров сортировки. Дополнительные сведения о параметрах сортировки см. в разделе Работа с языками и параметрами сортировки (службы SSAS).
Существуют также правила, определяющие точность, масштаб и длину результата на основе точности, масштаба и длины простых выражений.
Преобразование типов данных
Многомерное выражение неявно преобразует объект в другой тип, если этот объект используется в выражении, требующем данные другого типа. В следующей таблице определены правила преобразования для каждого объекта.
Исходный тип | Требуемый тип | Преобразование |
---|---|---|
Уровень |
Набор |
<level>.members |
Иерархия |
Элемент |
<hierarchy>.defaultmember |
Элемент |
Кортеж |
(<Member>) |
Кортеж |
Элемент |
<tuple>.item(0) |
Кортеж |
Скалярное значение |
<tuple>.value |
См. также
Справочник
Справочник по операторам многомерных выражений
Основные понятия
Синтаксические элементы в многомерных выражениях (многомерные выражения)