Ключевые слова в выражениях

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

Параметр Описание
AS

Ключевое слово AS можно использовать для указания имени выражения в контексте пользовательского выражения.

Примеры.

Sum([Sales]) as [Total Sales]

<[Region_Name] as [Region]>

CROSS

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

Пример.

<[A] CROSS [B]>

DISTINCT

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

Пример.

Avg(distinct [Column])

ELSE

Ключевое слово ELSE используется в инструкциях case, чтобы указать действия, выполняемые, если условие не соблюдается.

Инструкция case имеет две разные формы.

Простая:

case Arg1 when Arg2 then Arg3 else Arg4 end

Выражение Arg1 вычисляется, а когда аргумент Arg1 равен Arg2, возвращается Arg3.

Можно ввести несколько выражений when/then, которые будут вычислены в порядке слева направо.

Поиск:

case when Arg1 then Arg2 else Arg3 end

Возвращается аргумент Arg2, если Arg1=true, и Arg3, если Arg1=false.

Можно ввести несколько выражений when/then, которые будут вычислены в порядке слева направо.

Примеры.

Case when 1 < 2 then "a" when 1 < 3 then "b" else "c" end

Case [Column] when 3 then "a" when 2 then "b" else "c" end

END

Ключевое слово END используется в инструкциях CASE, чтобы указать окончание инструкции.

Примеры инструкций СASE см. в пункте о ключевом слове ELSE.

FALSE

FALSE — это логическая константа, которая может использоваться в логических выражениях.

Пример.

false

IS

IS — это ключевое слово, которое можно использовать для проверки того, является ли выражение пустым.

Примеры.

[Column] Is Not Null

Avg([Column]) Is Null

NEST

Ключевое слово NEST может использоваться в категориальных пользовательских выражениях для указания того, что уровни категории должны быть вложенными. Это означает, что отображаются только те комбинации значений, в которых фактически есть данные.

Пример.

<[A] nest [B]>

NULL

NULL — это ключевое слово, которое можно использовать для указания пустого значения, а также в составе операторов 'Is Not Null или Is Null.

Примеры.

null

[Column] Is Not Null

OVER

OVER — это ключевое слово, которое можно использовать после агрегирования для указания того, что агрегирование должно вычисляться над другим окном, отличным от окна по умолчанию. Ключевое слово OVER всегда используется вместе с функцией OVER, которая указывает, как группировать данные на основе узлов в рассматриваемой иерархии.

Пример.

Sum([Sales]) OVER (AllPrevious([Axis.X]))

THEN

Ключевое слово THEN может использоваться в двух различных контекстах. Если это часть выражения CASE, оно просто определяет, что происходит при выполнении условия. Кроме того, THEN может использоваться для вычисления выражений после агрегирования (при работе с выражениями на непрерывных осях).

В контексте пост-агрегирования часть выражения после ключевого слова THEN вычисляется вдобавок к агрегированным данным и агрегированное значение указывается с помощью имени [Value].

Примеры.

CASE WHEN 1 < 2 THEN "a" WHEN 1 < 3 THEN "b" ELSE "c" end

Sum([Sales]) THEN Sum([Value]) OVER (AllPrevious([Axis.X]))

TRUE

TRUE — это логическая константа, которая может использоваться в логических выражениях.

Пример.

true

WHEN

Ключевое слово WHEN используется в инструкциях CASE, чтобы указать действия, выполняемые, если условие соблюдается.

Примеры инструкций СASE см. в пункте о ключевом слове ELSE.

Также см. раздел Функции.