Операторы (синтаксис многомерных выражений)
В многомерных выражениях операторы выполняют следующие действия:
Изменяют данные, постоянно или временно.
Выполняют поиск значений или объектов, соответствующих указанному условию.
Реализуют решение между значениями или выражениями.
Проверяют особые условия перед началом или фиксацией транзакций либо перед выполнением определенных инструкций.
Многомерные выражения поддерживают операторы, перечисленные в следующей таблице.
Для выполнения операций этого типа |
Используйте |
---|---|
Назначения значения переменной или связывания столбцов результирующего набора данных с псевдонимом. |
|
Сложение, вычитание, умножение, деление. |
|
Проверка истинности условия, такого как 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 |
См. также