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

Оконные функции

Оконные функции — позволяют выполнять вычисления над группой строк, но при этом не сворачивать (не объединять) результаты в одну строку, в отличие от агрегатных.

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

Общий синтаксис оконной функции:

<FUNCTION_NAME> (
                    expression,

                     TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
                )

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

AVG (оконная)

#оконная

Позволяет рассчитать среднее значение для данных из строк выборки (окна).

Возвращает среднее арифметическое значение выражения expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
AVG ( 
        expression 
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
    )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: AVG | AVG_IF | AVG_IF (оконная) | MAVG | RAVG | MEDIAN

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

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

Формула:

AVG (
        SUM (
                [orders_profit]
            ) 
        TOTAL
    )
AVG (
        SUM (
                [orders_profit]
            ) 
        WITHIN [customer_id]
    ) 
AVG (
        SUM (
                [orders_profit]
            ) 
        AMONG [customer_id]
    ) 

Результат:

AVG_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

AVG_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_avg (прибыль среднее), в Промежуточное значение указана формула AVG (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует все значения прибыли, а затем делит на общее количество значений, так как не используется группировка (TOTAL)

AVG_w_step2

  • Profit_avg_cust (прибыль среднее по клиенту), в Промежуточное значение указана формула AVG (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN), а затем делит на количество записей по клиенту

AVG_w_step2_1

  • Profit_avg_ord (прибыль среднее по заказу), в Промежуточное значение указана формула AVG (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем делит на количество записей по заказу

AVG_w_step2_2

4.Расчетные агрегаты Profit_avg (прибыль среднее), Profit_avg_cust (прибыль среднее по клиенту) и Profit_avg_ord (прибыль среднее по заказу) определены как Агрегаты.

AVG_IF (оконная)

#оконная

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

Возвращает среднее значение для выражения expression, которые удовлетворяют условию condition с учетом группировки. Если значения отсутствуют, то возвращается NULL.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
AVG_IF  (
            expression, 
            condition 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: AVG | AVG (оконная) | AVG_IF | MAVG | RAVG | MEDIAN

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

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

Формула:

AVG_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0    
            TOTAL
        )
AVG_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0 
            WITHIN [customer_id]
        ) 
AVG_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0 
            AMONG [customer_id]
        ) 

Результат:

AVG_IF_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

AVG_IF_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_avg (прибыль среднее), в Промежуточное значение указана формула AVG_IF (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует все значения прибыли, а затем делит на общее количество значений, так как не используется группировка (TOTAL)

AVG_IF_w_step2

  • Profit_avg_cust (прибыль среднее по клиенту), в Промежуточное значение указана формула AVG_IF (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN), а затем делит на количество записей по клиенту

AVG_IF_w_step2_1

  • Profit_avg_ord (прибыль среднее по заказу), в Промежуточное значение указана формула AVG_IF (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем делит на количество записей по заказу

AVG_IF_w_step2_2

4.Расчетные агрегаты Profit_avg (прибыль среднее), Profit_avg_cust (прибыль среднее по клиенту) и Profit_avg_ord (прибыль среднее по заказу) определены как Агрегаты.

COUNT (оконная)

#оконная

Позволяет рассчитать количество строк выборки (окна).

Возвращает количество элементов в заданном выражении expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
COUNT   (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: COUNT | COUNT_IF | COUNT_IF (оконная) | COUNTD | COUNTD_IF | COUNTD_APPROX | MCOUNT | RCOUNT

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

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

Формула:

COUNT   (
            AVG (
                    [orders_profit]
                )   
            TOTAL
        )
COUNT   (
            AVG (
                    [orders_profit]
                )
            WITHIN [customer_id]
        ) 
COUNT   (
            AVG (
                    [orders_profit]
                )
            AMONG [customer_id]
        ) 

Результат:

COUNT_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

COUNT_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_count (количество среднее), в Промежуточное значение указана формула COUNT (AVG ([orders_profit]) TOTAL)(1)
  1. ℹ функция отображает количество записей, участвующих в расчёте среднего значения прибыли по всем записям, так как не используется группировка (TOTAL)

COUNT_w_step2

  • Profit_count_cust (количество среднее по клиенту), в Промежуточное значение указана формула COUNT (AVG ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция отображает количество записей, участвующих в расчёте среднего значения прибыли по клиенту, так как используется группировка (WITHIN)

COUNT_w_step2_1

  • Profit_count_ord (количество среднее по заказу), в Промежуточное значение указана формула COUNT (AVG ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция отображает количество записей, участвующих в расчёте среднего значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту

COUNT_w_step2_2

4.Расчетные агрегаты Profit_count (количество среднее), Profit_count_cust (количество среднее по клиенту) и Profit_count_ord (количество среднее по заказу) определены как Агрегаты.

COUNT_IF (оконная)

#оконная

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

Возвращает количество элементов в выражении expression, которые удовлетворяют условию condition с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
COUNT_IF    (
                expression, 
                condition 
                TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: COUNT | COUNT (оконная) | COUNT_IF | COUNTD | COUNTD_IF | COUNTD_APPROX | MCOUNT | RCOUNT

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

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

Формула:

COUNT_IF    (
                AVG (
                        [orders_profit]
                    ),
                [orders_profit] > 0   
                TOTAL
            )
COUNT_IF    (
                AVG (
                        [orders_profit]
                    ),
                [orders_profit] > 0
                WITHIN [customer_id]
            ) 
COUNT_IF    (
                AVG (
                        [orders_profit]
                    ),
                [orders_profit] > 0
                AMONG [customer_id]
            ) 

Результат:

COUNT_IF_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

COUNT_IF_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_count (количество среднее), в Промежуточное значение указана формула COUNT_IF (AVG ([orders_profit]), [orders_profit] > 0 TOTAL)(1)
  1. ℹ функция отображает количество записей, участвующих в расчёте среднего значения прибыли по всем записям, где прибыль положительная, так как не используется группировка (TOTAL) и применяется условие >0

COUNT_IF_w_step2

  • Profit_count_cust (количество среднее по клиенту), в Промежуточное значение указана формула COUNT_IF (AVG ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])(1)
  1. ℹ функция отображает количество записей, где прибыль положительная, участвующих в расчёте среднего значения прибыли по клиенту, так как используется группировка (WITHIN) и применяется условие >0

COUNT_IF_w_step2_1

  • Profit_count_ord (количество среднее по заказу), в Промежуточное значение указана формула COUNT_IF (AVG ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])(1)
  1. ℹ функция отображает количество записей, где прибыль положительная, участвующих в расчёте среднего значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту и применяется условие >0

COUNT_IF_w_step2_2

4.Расчетные агрегаты Profit_count (количество среднее), Profit_count_cust (количество среднее по клиенту) и Profit_count_ord (количество среднее по заказу) определены как Агрегаты.

FIRST

#оконная

Позволяет отобразить первое значение выборки (окна).

Возвращает значение из первой строки выражения expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
FIRST   (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: LAG | LAST

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

Цель: Отобразить первое значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.

Формула:

FIRST   (
            SUM (
                    [orders_profit]
                )   
            TOTAL
        )
FIRST   (
            SUM (
                    [orders_profit]
                )
            WITHIN [customer_id]
        ) 
FIRST   (
            SUM (
                    [orders_profit]
                )
            AMONG [customer_id]
        ) 

Результат:

FIRST

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

FIRST_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула FIRST (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL)

FIRST_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула FIRST (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN) и отображает первое значение из результатов сумм

FIRST_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула FIRST (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту и отображает первое значение из результатов сумм

FIRST_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

LAG

#оконная

Позволяет отобразить значение из заданной строки выборки (окна).

Возвращает значение expression из выражения со смещением offset(1)(по умолчанию 1 - предыдущее значение) с учетом группировки. При отсутствии значения возвращает NULL или default, если задано.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
  1. ℹ положительное (N) - значение в предыдущей N строке или N строк назад
    отрицательное (-N) - значение в следующей N строке или N строк вперед
LAG (
        expression, 
        offset,
        default
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
    )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных offset: Число (целое)

Похожие: FIRST | LAST

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

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

Формула:

LAG (
        SUM (
                [orders_profit]
            )   
        TOTAL
    )
LAG (
        SUM (
                [orders_profit]
            ),
        1,
        0   
        WITHIN [customer_id]
    ) 
LAG (
        SUM (
                [orders_profit]
            ),
        1,
        0   
        AMONG [customer_id]
    ) 

Результат:

LAG

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

LAG_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_lag (прибыль сумма пред.), в Промежуточное значение указана формула LAG (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL) и отображает предыдущее значение

LAG_step2

  • Profit_lag_cust (прибыль сумма пред. по клиенту), в Промежуточное значение указана формула LAG (SUM ([orders_profit]), 1, 0 WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN) и отображает предыдущее значение из результатов сумм, либо 0, если предыдущего нет

LAG_step2_1

  • Profit_lag_ord (прибыль сумма пред. по заказу), в Промежуточное значение указана формула LAG (SUM ([orders_profit]), 1, 0 AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту и отображает предыдущее значение из результатов сумм, либо 0, если предыдущего нет

LAG_step2_2

4.Расчетные агрегаты Profit_lag (прибыль сумма), Profit_lag_cust (прибыль сумма по клиенту) и Profit_lag_ord (прибыль сумма по заказу) определены как Агрегаты.

LAST

#оконная

Позволяет отобразить последнее значение выборки (окна).

Возвращает значение из последней строки выражения expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
LAST    (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: FIRST | LAG

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

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

Формула:

LAST    (
            SUM (
                    [orders_profit]
                )   
            TOTAL
        )
LAST    (
            SUM (
                    [orders_profit]
                )
            WITHIN [customer_id]
        ) 
LAST    (
            SUM (
                    [orders_profit]
                )
            AMONG [customer_id]
        ) 

Результат:

LAST

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

LAST_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула LAST (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL)

LAST_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула LAST (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN) и отображает первое значение из результатов сумм

LAST_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула LAST (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту и отображает первое значение из результатов сумм

LAST_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

MAVG

#оконная

Позволяет рассчитать скользящее среднее значение выборки (окна). На расчеты влияет порядок сортировки.

Возвращает скользящее среднее значение для expression текущей записи и rows_1 предшествующих (либо последующих при отрицательном значении), rows_2 последующих записей с учетом группировки и сортировки. Параметр rows_2 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
MAVG    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных rows_1 и rows_2: Число (целое)

Похожие: AVG | AVG (оконная) | AVG_IF | AVG_IF (оконная) | RAVG | MEDIAN

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

Цель: Отобразить скользящее среднее прибыли для месяца и двух предыдущих.

Формула:

MAVG    (
            SUM (
                    [orders_profit]
                ),
            2 
            TOTAL
        )

Результат:

MAVG

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Profit_sum (сумма прибыли за месяц) определено как Столбцы.

MAVG_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_mavg_3m (прибыль среднее за 3мес), в Промежуточное значение указана формула MAVG (SUM ([orders_profit]), 2 TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает среднее с учетом значения сумм для двух предыдущих месяцев

MAVG_step2

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

MAX (оконная)

#оконная

Позволяет рассчитать максимальное значение выборки (окна).

Возвращает максимальное значение для expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время поздняя из дат и позднее из времени
Число (дробное) наибольшее число
Число (целое) наибольшее число
Строка последнюю строку в алфавитном порядке
Логический TRUE
MAX (
        expression
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
    )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: ARG_MAX | GREATEST | MAX | MAX_IF | MAX_IF (оконная) | MMAX | RMAX

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

Цель: Отобразить максимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.

Формула:

MAX    (
            SUM (
                    [orders_profit]
                )   
            TOTAL
        )
MAX    (
            SUM (
                    [orders_profit]
                )
            WITHIN [customer_id]
        ) 
MAX    (
            SUM (
                    [orders_profit]
                )
            AMONG [customer_id]
        ) 

Результат:

MAX_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

MAX_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула MAX (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит максимальное значение

MAX_w_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула MAX (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит максимальное значение

MAX_w_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула MAX (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит максимальное значение

MAX_w_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

MAX_IF (оконная)

#оконная

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

Возвращает максимальное значение для expression, которые удовлетворяют условию condition с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время поздняя из дат и позднее из времени
Число (дробное) наибольшее число
Число (целое) наибольшее число
Строка последнюю строку в алфавитном порядке
Логический TRUE
MAX_IF  (
            expression, 
            condition
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: ARG_MAX | GREATEST | MAX | MAX (оконная) | MAX_IF | MMAX | RMAX

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

Цель: Отобразить максимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.

Формула:

MAX_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0   
            TOTAL
        )
MAX_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0
            WITHIN [customer_id]
        ) 
MAX_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0
            AMONG [customer_id]
        ) 

Результат:

MAX_IF_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

MAX_IF_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула MAX_IF (SUM ([orders_profit]), [orders_profit] > 0 TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит максимальное значение

MAX_IF_w_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула MAX_IF (SUM ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит максимальное значение

MAX_IF_w_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула MAX_IF (SUM ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит максимальное значение

MAX_IF_w_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

MCOUNT

#оконная

Позволяет рассчитать количество значений выборки (окна). На расчеты влияет порядок сортировки.

Возвращает количество значений не равных NULL для expression текущей записи и rows_1 предшествующих (либо последующих при отрицательном значении), rows_2 последующих записей с учетом группировки и сортировки. Параметр rows_2 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
MCOUNT  (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных rows_1 и rows_2: Число (целое)

Похожие: COUNT | COUNT (оконная) | COUNT_IF | COUNT_IF (оконная) | COUNTD | COUNTD_IF | COUNTD_APPROX | RCOUNT

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

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

Формула:

MCOUNT  (
            AVG (
                    [orders_profit]
                ),
            2   
            TOTAL
        )
MCOUNT   (
            AVG (
                    [orders_profit]
                ),
            2
            WITHIN [customer_id]
        ) 
MCOUNT   (
            AVG (
                    [orders_profit]
                ),
            2
            AMONG [customer_id]
        ) 

Результат:

MCOUNT

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

MCOUNT_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_count (количество среднее), в Промежуточное значение указана формула MCOUNT (AVG ([orders_profit]), 2 TOTAL)(1)
  1. ℹ функция отображает количество записей для текущего расчета среднего и двух предыдущих по всем записям, так как не используется группировка (TOTAL)

MCOUNT_step2

  • Profit_count_cust (количество среднее по клиенту), в Промежуточное значение указана формула MCOUNT (AVG ([orders_profit]), 2 WITHIN [customer_id])(1)
  1. ℹ функция отображает количество записей для текущего расчета среднего и двух предыдущих по клиенту, так как используется группировка (WITHIN)

MCOUNT_step2_1

  • Profit_count_ord (количество среднее по заказу), в Промежуточное значение указана формула MCOUNT (AVG ([orders_profit]), 2 AMONG [customer_id])(1)
  1. ℹ функция отображает количество записейдля текущего расчета среднего и двух предыдущих по заказу, так как используется группировка (AMONG) НЕ по клиенту

MCOUNT_step2_2

4.Расчетные агрегаты Profit_count (количество среднее), Profit_count_cust (количество среднее по клиенту) и Profit_count_ord (количество среднее по заказу) определены как Агрегаты.

MIN (оконная)

#оконная

Позволяет рассчитать минимальное значение выборки (окна).

Возвращает минимальное значение для expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время ранняя из дат и раннее из времени
Число (дробное) наименьшее число
Число (целое) наименьшее число
Строка первую строку в алфавитном порядке
Логический FALSE
MIN (
        expression
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
    )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: ARG_MIN | LEAST | MIN | MIN_IF | MIN_IF (оконная) | MMIN | RMIN

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

Цель: Отобразить минимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.

Формула:

MIN    (
            SUM (
                    [orders_profit]
                )   
            TOTAL
        )
MIN    (
            SUM (
                    [orders_profit]
                )
            WITHIN [customer_id]
        ) 
MIN    (
            SUM (
                    [orders_profit]
                )
            AMONG [customer_id]
        ) 

Результат:

MIN_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

MIN_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула MIN (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит минимальное значение

MIN_w_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула MIN (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит минимальное значение

MIN_w_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула MIN (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит минимальное значение

MIN_w_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

MIN_IF (оконная)

#оконная

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

Возвращает минимальное значение для expression, которые удовлетворяют условию condition с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время ранняя из дат и раннее из времени
Число (дробное) наименьшее число
Число (целое) наименьшее число
Строка первую строку в алфавитном порядке
Логический FALSE
MIN_IF  (
            expression, 
            condition
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: ARG_MIN | LEAST | MIN | MIN (оконная) | MIN_IF | MMIN | RMIN

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

Цель: Отобразить минимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.

Формула:

MIN_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0   
            TOTAL
        )
MIN_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0
            WITHIN [customer_id]
        ) 
MIN_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0
            AMONG [customer_id]
        ) 

Результат:

MIN_IF_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

MIN_IF_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула MIN_IF (SUM ([orders_profit]), [orders_profit] > 0 TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит минимальное значение

MIN_IF_w_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула MIN_IF (SUM ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит минимальное значение

MIN_IF_w_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула MIN_IF (SUM ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит минимальное значение

MIN_IF_w_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

MMAX

#оконная

Позволяет рассчитать скользящее максимальное значение выборки (окна). На расчеты влияет порядок сортировки.

Возвращает скользящее максимальное значение для expression текущей записи и rows_1 предшествующих (либо последующих при отрицательном значении), rows_2 последующих записей с учетом группировки и сортировки. Параметр rows_2 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
MMAX    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных rows_1 и rows_2: Число (целое)

Похожие: ARG_MAX | GREATEST | MAX | MAX (оконная) | MAX_IF | MAX_IF (оконная) | RMAX

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

Цель: Отобразить скользящее максимальное значение прибыли для месяца и двух предыдущих.

Формула:

MMAX    (
            SUM (
                    [orders_profit]
                ),
            2 
            TOTAL
        )

Результат:

MMAX

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Profit_sum (сумма прибыли за месяц) определено как Столбцы.

MMAX_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_max_3m (прибыль макс. за 3мес), в Промежуточное значение указана формула MMAX (SUM ([orders_profit]), 2 TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает максимальное с учетом значения для двух предыдущих месяцев

MMAX_step2

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

MMIN

#оконная

Позволяет рассчитать скользящее минимальное значение выборки (окна). На расчеты влияет порядок сортировки.

Возвращает скользящее минимальное значение для expression текущей записи и rows_1 предшествующих (либо последующих при отрицательном значении), rows_2 последующих записей с учетом группировки и сортировки. Параметр rows_2 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
MMIN    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных rows_1 и rows_2: Число (целое)

Похожие: ARG_MIN | LEAST | MIN | MIN (оконная) | MIN_IF | MIN_IF (оконная) | RMIN

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

Цель: Отобразить скользящее минимальное значение прибыли для месяца и двух предыдущих.

Формула:

MMIN    (
            SUM (
                    [orders_profit]
                ),
            2 
            TOTAL
        )

Результат:

MMIN

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Profit_sum (сумма прибыли за месяц) определено как Столбцы.

MMIN_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_min_3m (прибыль мин. за 3мес), в Промежуточное значение указана формула MMIN (SUM ([orders_profit]), 2 TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает минимальное с учетом значения для двух предыдущих месяцев

MMIN_step2

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

MSUM

#оконная

Позволяет рассчитать скользящее значение суммы выборки (окна). На расчеты влияет порядок сортировки.

Возвращает скользящее значение суммы для expression текущей записи и rows_1 предшествующих (либо последующих при отрицательном значении), rows_2 последующих записей с учетом группировки и сортировки. Параметр rows_2 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
MSUM    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных rows_1 и rows_2: Число (целое)

Похожие: RSUM | SUM | SUM (оконная) | SUM_IF | SUM_IF (оконная)

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

Цель: Отобразить скользящее значение суммы прибыли для месяца и двух предыдущих.

Формула:

MSUM    (
            SUM (
                    [orders_profit]
                ),
            2 
            TOTAL
        )

Результат:

MSUM

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Profit_sum (сумма прибыли за месяц) определено как Столбцы.

MSUM_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_sum_3m (прибыль сумма за 3мес), в Промежуточное значение указана формула MSUM (SUM ([orders_profit]), 2 TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает сумму с учетом значения для двух предыдущих месяцев

MSUM_step2

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

RANK

#оконная

Позволяет ранжировать значения выборки (окна). Присваивает одинаковым значениям один ранг, а последующая нумерация сдвигается от повторов.

Возвращает порядковый номер expression после сортировки по direction с учетом группировки. При пустом параметре direction по умолчанию применяется значение 'desc' - от большего к меньшему, указав значение 'asc' применится от меньшего к большему.

Для строк выборки с одинаковыми значениями присваивается одинаковый ранг, а следующей строке с отличным значением присваивается ранг с учетом повторов. Например, 1 и 2 строка - ранг 1, 3 строка - ранг 3.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RANK    (
            expression, 
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: RANK_DENSE

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

Цель: Ранжировать от меньшего к большему результаты расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.

Формула:

RANK  (
            SUM (
                    [orders_profit]
                ),
            'asc'  
            TOTAL
        )
RANK  (
            SUM (
                    [orders_profit]
                ),
            'asc'
            WITHIN [customer_id]
        ) 
RANK  (
            SUM (
                    [orders_profit]
                ),
            'asc'
            AMONG [customer_id]
        ) 

Результат:

RANK

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

RANK_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum_rang (прибыль сумма ранг), в Промежуточное значение указана формула RANK (SUM ([orders_profit]), 'asc' TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем ранжирует значения от меньшего к большему

RANK_step2

  • Profit_sum_rang_cust (прибыль сумма ранг по клиенту), в Промежуточное значение указана формула RANK (SUM ([orders_profit]), 'asc' WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем ранжирует значения от меньшего к большему

RANK_step2_1

  • Profit_sum_rang_ord (прибыль сумма ранг по заказу), в Промежуточное значение указана формула RANK (SUM ([orders_profit]), 'asc' AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем ранжирует значения от меньшего к большему

RANK_step2_2

4.Расчетные агрегаты Profit_sum_rang (прибыль сумма ранг), Profit_sum_rang_cust (прибыль сумма ранг по клиенту) и Profit_sum_rang_ord (прибыль сумма ранг по заказу) определены как Агрегаты.

RANK_DENSE

#оконная

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

Возвращает порядковый номер expression после сортировки по direction с учетом группировки. При пустом параметре direction по умолчанию применяется значение 'desc' - от большего к меньшему, указав значение 'asc' применится от меньшего к большему.

Для строк выборки с одинаковыми значениями присваивается одинаковый ранг, следующей строке с отличным значениям присваивается следующий по-порядку ранг. Например, 1 и 2 строка - ранг 1, 3 строка - ранг 2.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RANK_DENSE  (
                expression, 
                direction
                TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
            )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: RANK

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

Цель: Ранжировать от меньшего к большему результаты расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.

Формула:

RANK_DENSE  (
                SUM (
                        [orders_profit]
                    ),
                'asc'  
                TOTAL
            )
RANK_DENSE  (
                SUM (
                        [orders_profit]
                    ),
                'asc'
                WITHIN [customer_id]
            ) 
RANK_DENSE  (
                SUM (
                        [orders_profit]
                    ),
                'asc'
                AMONG [customer_id]
            ) 

Результат:

RANK_DENSE

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

RANK_DENSE_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum_rang (прибыль сумма ранг), в Промежуточное значение указана формула RANK_DENSE (SUM ([orders_profit]), 'asc' TOTAL)(1)
  1. ℹ функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем ранжирует значения от меньшего к большему

RANK_DENSE_step2

  • Profit_sum_rang_cust (прибыль сумма ранг по клиенту), в Промежуточное значение указана формула RANK_DENSE (SUM ([orders_profit]), 'asc' WITHIN [customer_id])(1)
  1. ℹ функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем ранжирует значения от меньшего к большему

RANK_DENSE_step2_1

  • Profit_sum_rang_ord (прибыль сумма ранг по заказу), в Промежуточное значение указана формула RANK_DENSE (SUM ([orders_profit]), 'asc' AMONG [customer_id])(1)
  1. ℹ функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем ранжирует значения от меньшего к большему

RANK_DENSE_step2_2

4.Расчетные агрегаты Profit_sum_rang (прибыль сумма ранг), Profit_sum_rang_cust (прибыль сумма ранг по клиенту) и Profit_sum_rang_ord (прибыль сумма ранг по заказу) определены как Агрегаты.

RAVG

#оконная

Позволяет рассчитать среднее значение обозначенной части выборки (окна).

Возвращает среднее значение для expression текущей записи и части выборки direction с учетом группировки. Параметр direction в значении 'asc' (по умолчанию) ограничивает выборку от первой до текущей записи, в значении 'desc' - от текущей до последней.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RAVG    (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: AVG | AVG (оконная) | AVG_IF | AVG_IF (оконная) | MAVG | MEDIAN

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

Цель: Отобразить нарастающее среднее прибыли по месяцам.

Формула:

RAVG    (
            SUM (
                    [orders_profit]
                )
            TOTAL
        )

Результат:

RAVG

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Orders_profit (прибыль) определено как Столбцы.

RAVG_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_avg (прибыль среднее), в Промежуточное значение указана формула RAVG (SUM ([orders_profit]) TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает нарастающее среднее по месяцам

RAVG_step2

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

RCOUNT

#оконная

Позволяет рассчитать количество строк в обозначенной части выборки (окна).

Возвращает количество элементов в expression текущей записи и части выборки direction с учетом группировки. Параметр direction в значении 'asc' (по умолчанию) ограничивает выборку от первой до текущей записи, в значении 'desc' - от текущей до последней.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RCOUNT  (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: COUNT | COUNT (оконная) | COUNT_IF | COUNT_IF (оконная) | COUNTD | COUNTD_IF | COUNTD_APPROX | MCOUNT

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

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

Формула:

RCOUNT  (
            SUM (
                    [orders_profit]
                )
            TOTAL
        )

Результат:

RCOUNT

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Orders_profit (прибыль) определено как Столбцы.

RCOUNT_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_count (количество прибыль), в Промежуточное значение указана формула RCOUNT (SUM ([orders_profit]) TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а выводит нарастающее количество строк по месяцам

RCOUNT_step2

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

RMAX

#оконная

Позволяет рассчитать максимальное значение в обозначенной части выборки (окна).

Возвращает максимальное значение в expression текущей записи и части выборки direction с учетом группировки. Параметр direction в значении 'asc' (по умолчанию) ограничивает выборку от первой до текущей записи, в значении 'desc' - от текущей до последней.

Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время поздняя из дат и позднее из времени
Число (дробное) наибольшее число
Число (целое) наибольшее число
Строка последнюю строку в алфавитном порядке
Логический TRUE

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RMAX  (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: ARG_MAX | GREATEST | MAX | MAX (оконная) | MAX_IF | MAX_IF (оконная) | MMAX

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

Цель: Отобразить нарастающий максимум суммы прибыли.

Формула:

RMAX  (
            SUM (
                    [orders_profit]
                )
            TOTAL
        )

Результат:

RMAX

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Orders_profit (прибыль) определено как Столбцы.

RMAX_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_max (прибыль макс.), в Промежуточное значение указана формула RMAX (SUM ([orders_profit]) TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем выводит нарастающий максимум прибыли по месяцам

RMAX_step2

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

RMIN

#оконная

Позволяет рассчитать минимальное значение в обозначенной части выборки (окна).

Возвращает минимальное значение в expression текущей записи и части выборки direction с учетом группировки. Параметр direction в значении 'asc' (по умолчанию) ограничивает выборку от первой до текущей записи, в значении 'desc' - от текущей до последней.

Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время ранняя из дат и раннее из времени
Число (дробное) наименьшее число
Число (целое) наименьшее число
Строка первую строку в алфавитном порядке
Логический FALSE

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RMIN  (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: ARG_MIN | LEAST | MIN | MIN (оконная) | MIN_IF | MIN_IF (оконная) | MMIN

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

Цель: Отобразить нарастающий минимум суммы прибыли.

Формула:

RMIN  (
            SUM (
                    [orders_profit]
                )
            TOTAL
        )

Результат:

RMIN

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Orders_profit (прибыль) определено как Столбцы.

RMIN_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_min (прибыль мин.), в Промежуточное значение указана формула RMIN (SUM ([orders_profit]) TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем выводит нарастающий минимум прибыли по месяцам

RMIN_step2

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

RSUM

#оконная

Позволяет рассчитать сумму значений в обозначенной части выборки (окна).

Возвращает сумму значений expression текущей записи и части выборки direction с учетом группировки. Параметр direction в значении 'asc' (по умолчанию) ограничивает выборку от первой до текущей записи, в значении 'desc' - от текущей до последней.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
RSUM  (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Тип данных direction: Строка

Похожие: MSUM | SUM | SUM (оконная) | SUM_IF | SUM_IF (оконная)

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

Цель: Отобразить нарастающую сумму прибыли.

Формула:

RSUM  (
            SUM (
                    [orders_profit]
                )
            TOTAL
        )

Результат:

RSUM

Подробнее

1.В виджете на вкладке Данные поле Month_orders (месяц заказа) определено как Группы, поле Orders_profit (прибыль) определено как Столбцы.

RSUM_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_sum (прибыль сумма), в Промежуточное значение указана формула RSUM (SUM ([orders_profit]) TOTAL)(1)

  1. ℹ функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем выводит нарастающую сумму прибыли для каждого месяца

RSUM_step2

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

SUM (оконная)

#оконная

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

Возвращает сумму значений выражения expression с учетом группировки.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
SUM ( 
        expression 
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N 
    )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: MSUM | RSUM | SUM | SUM_IF | SUM_IF (оконная)

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

Цель: Отобразить суммарное значение прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.

Формула:

SUM (
        SUM (
                [orders_profit]
            ) 
        TOTAL
    )
SUM (
        SUM (
                [orders_profit]
            ) 
        WITHIN [customer_id]
    ) 
SUM (
        SUM (
                [orders_profit]
            ) 
        AMONG [customer_id]
    ) 

Результат:

SUM_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

SUM_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула SUM (SUM ([orders_profit]) TOTAL)(1)
  1. ℹ функция суммирует все значения прибыли, так как не используется группировка (TOTAL)

SUM_w_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула SUM (SUM ([orders_profit]) WITHIN [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN)

SUM_w_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула SUM (SUM ([orders_profit]) AMONG [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту

SUM_w_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.

SUM_IF (оконная)

#оконная

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

Возвращает сумму значений для выражения expression, которые удовлетворяют условию condition с учетом группировки. Если значения отсутствуют, то возвращается NULL.

При вызове функции применяется группировка:

  • WITHIN - используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • AMONG - используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;
  • TOTAL - без группировки, для расчета используются все данные выборки.
SUM_IF  (
            expression, 
            condition 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
        )

Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN или TOTAL без группировки. Группировка AMONG не применяется. В качестве expression оконная функция принимает только результат агрегации.

  1. ℹ при группировке по полям [A], [B] - [A] верхний уровень группировки

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

Похожие: MSUM | RSUM | SUM | SUM_IF | SUM (оконная)

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

Цель: Отобразить суммарное значение прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.

Формула:

SUM_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0    
            TOTAL
        )
SUM_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0 
            WITHIN [customer_id]
        ) 
SUM_IF  (
            SUM (
                    [orders_profit]
                ),
            [orders_profit] > 0 
            AMONG [customer_id]
        ) 

Результат:

SUM_IF_w

Подробнее

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

2.На вкладке Данные поля Customer_id (клиент), Order_id (заказ) и Orders_profit (прибыль) определены как Группы.

SUM_IF_w_step1

3.В Расчетные агрегаты добавлены новые агрегаты:

  • Profit_sum (прибыль сумма), в Промежуточное значение указана формула SUM_IF (SUM ([orders_profit]), [orders_profit] > 0 TOTAL)(1)
  1. ℹ функция суммирует все значения прибыли, так как не используется группировка (TOTAL)

SUM_IF_w_step2

  • Profit_sum_cust (прибыль сумма по клиенту), в Промежуточное значение указана формула SUM_IF (SUM ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN)

SUM_IF_w_step2_1

  • Profit_sum_ord (прибыль сумма по заказу), в Промежуточное значение указана формула SUM_IF (SUM ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])(1)
  1. ℹ функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту

SUM_IF_w_step2_2

4.Расчетные агрегаты Profit_sum (прибыль сумма), Profit_sum_cust (прибыль сумма по клиенту) и Profit_sum_ord (прибыль сумма по заказу) определены как Агрегаты.