Перейти к содержанию

Логические функции

Логические функции - позволяют добавить условия (истина/ложь) в вычисления.

Синтаксис формул похож на SQL.

CASE

#логическая

Позволяет отобразить результат в зависимости от соблюдения условия. Удобна при проверке условия с множеством результатов.

Возвращает результат сравнения result_N выражения expression с последовательностью значениями value_N. Результат сравнения default_result возвращается при отсутствии совпадений.

CASE    expression
        WHEN value_1    THEN result_1
        WHEN value_2    THEN result_2
        ... 
        ELSE default_result
END(1)
  1. также можно указывать выражение и его значение не разделяя: CASE WHEN expression value THEN result ELSE default_result END

Тип данных expression: Логический

Тип данных result_N, condition_N и default_result: Число (дробное), Число (целое), Строка, Дата, Логический

Похожие: IF

Исходные данные: Доступны данные по заказам и категориям товаров в заказах.

Цель: Присвоить каждой категории код по ее наименованию.

Формула:

CASE    [category] 
        WHEN 'Furniture'        THEN 'F' 
        WHEN 'Office Supplies'  THEN 'O' 
        ELSE '-'
END

Результат:

CASE

Подробнее

1.В виджете на вкладке Данные поле Category (категории) определено как Группы, поле Orders (заказы) определено как Столбцы.

CASE_step1

2.В Расчетные агрегаты добавлен новый агрегат Category_cod (код категории), в Промежутоное значение указана формула CASE [category] WHEN 'Furniture' THEN 'F' WHEN 'Office Supplies' THEN 'O' ELSE '-' END.

CASE_step2

3.Расчетный агрегат Category_cod (код категории) определен как Столбцы.

IF

#логическая

Позволяет отобразить результат в зависимости от соблюдения условия.

Возвращает результат result_N при выполнении условия condition_N. Результат сравнения default_result возвращается, если все условия не выполнены.

IF  condition_1         THEN result_1
    ELSEIF condition_2  THEN result_2
    ...
    ELSE default_result
END

Тип данных result_N, condition_N и default_result: Число (дробное), Число (целое), Строка, Дата, Логический

Похожие: CASE

Исходные данные: Доступны данные прибыли по заказам.

Цель: Разбить данные по прибыли на именованные группы в зависимости от суммы.

Формула:

IF  [profit] > 1000 THEN  'L'
    ELSEIF [profit] < 500   THEN 'S'
    ELSE 'M'
END

Результат:

IF

Подробнее

1.В виджете на вкладке Данные поле Profit (прибыль) определено как Группы.

IF_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_cod (код прибыли), в Промежутоное значение указана формула IF [Profit] > 1000 THEN 'L' ELSEIF [Profit] < 500 THEN 'S' ELSE 'M' END.

IF_step2

3.Расчетный агрегат Profit_cod (код прибыли) определен как Столбцы.

IFNULL

#логическая

Позволяет проверить пустые поля и отобразить в них значение.

Возвращает value, если оно не NULL, иначе возвращает alt_value.

IFNULL  (
            value, 
            alt_value
        )

Тип данных value и alt_value: Число (дробное), Число (целое), Строка, Дата, Логический

Похожие: ISNULL | ZN

Исходные данные: Доступны данные прибыли по заказам.

Цель: Проверить наличие данных о прибыли, если данных нет, то считаем прибыль нулевой.

Формула:

IFNULL  (
            [profit],
            0.00
        ) 

Результат:

IFNULL

Подробнее

1.В виджете на вкладке Данные поле Profit (прибыль) определено как Столбцы.

IFNULL_step1

2.В параметрах столбца на вкладке Агрегация в Промежутоное значение указана формула IFNULL ([profit], 0.00).

IFNULL_step2

ISNULL

#логическая

Позволяет найти пустые поля.

Возвращает 1 (true), если value - NULL, иначе возвращает 0 (false).

ISNULL  (
            value
        )

Тип данных value: Число (дробное), Число (целое), Строка, Дата, Логический

Похожие: IFNULL | ZN

Исходные данные: Доступны данные прибыли по заказам.

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

Формула:

ISNULL  (
            [profit]
        ) 

Результат:

ISNULL

Подробнее

1.В виджете на вкладке Данные поле Profit (прибыль) определено как Группы.

ISNULL_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_check (проверка прибыли), в Промежутоное значение указана формула ISNULL ([profit]).

ISNULL_step2

3.Расчетный агрегат Profit_check (проверка прибыли) определен как Столбцы.

ZN

#логическая

Позволяет найти пустые поля.

Возвращает значение выражения value, если оно не NULL, иначе возвращает 0 (false).

ZN  (
        value
    )

Тип данных value: Число (дробное), Число (целое)

Похожие: IFNULL | ISNULL

Исходные данные: Доступны данные прибыли по заказам и количеству заказов.

Цель: Вычислить прибыль по каждому заказу.

Формула:

ZN  (
        [profit]/[orders]
    ) 

Результат:

ZN

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поля Profit (прибыль) и Orders (заказы) определены как Группы.

ZN_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_orders (прибыль по заказу), в Промежутоное значение указана формула ZN ([profit]/[orders]).

ZN_step2

3.Расчетный агрегат Profit_orders (прибыль по заказу) определен как Агрегаты.