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

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

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

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

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

<FUNCTION_NAME> (
                    expression,

                    TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
                    ORDER BY field_1, ..., field_N
                    BEFORE FILTER BY field_1, ..., field_N
                )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Расширенный синтаксис оконной функции:

<FUNCTION_NAME> (
                    expression,

                    TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
                    ORDER BY field_1, ..., field_N
                    BEFORE FILTER BY field_1, ..., field_N
                    FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
                )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

AVG (оконная)

#оконная

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

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

AVG ( 
        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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

AVG ( 
        expression 
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
        BEFORE FILTER BY field_1, ..., field_N
        FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
    )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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.

AVG_IF  (
            expression, 
            condition 
            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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

AVG_IF  (
            expression, 
            condition 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 с учетом группировки.

COUNT   (
            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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

COUNT  (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 с учетом группировки.

COUNT_IF    (
                expression, 
                condition 
                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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

COUNT_IF  (
            expression, 
            condition 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 с учетом группировки и сортировки.

FIRST   (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

FIRST  (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: LAG | LAST

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

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

Формула:

FIRST   (
            SUM (
                    [orders_profit]
                )   
            TOTAL
            ORDER BY [order_date] ASC
        )
FIRST   (
            SUM (
                    [orders_profit]
                )
            WITHIN [customer_id]
            ORDER BY [order_date] ASC
        ) 

Результат:

FIRST

Подробнее

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

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

FIRST_step1

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

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

FIRST_step2

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

FIRST_step2_1

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

LAG

#оконная

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

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

  1. ℹ положительное (N) - значение в предыдущей N строке или N строк назад
    отрицательное (-N) - значение в следующей N строке или N строк вперед
LAG (
        expression, 
        offset,
        default
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
        ORDER BY field_1, ..., field_N
    )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

LAG (
        expression, 
        offset,
        default
        TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
        ORDER BY field_1, ..., field_N
        BEFORE FILTER BY field_1, ..., field_N
        FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
    )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: FIRST | LAST

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

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

Формула:

LAG (
        SUM (
                [orders_profit]
            ),
        1,
        0      
        TOTAL
        ORDER BY [order_date] ASC
    )
LAG (
        SUM (
                [orders_profit]
            ),
        1,
        0   
        WITHIN [customer_id]
        ORDER BY [order_date] ASC
    ) 

Результат:

LAG

Подробнее

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

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

LAG_step1

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

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

LAG_step2

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

LAG_step2_1

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

LAST

#оконная

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

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

LAST    (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

LAST    (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: FIRST | LAG

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

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

Формула:

LAST    (
            SUM (
                    [orders_profit]
                )   
            TOTAL
            ORDER BY [order_date] ASC
        )
LAST    (
            SUM (
                    [orders_profit]
                )
            WITHIN [customer_id]
            ORDER BY [order_date] ASC
        ) 

Результат:

LAST

Подробнее

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

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

LAST_step1

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

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

LAST_step2

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

LAST_step2_1

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

MAVG

#оконная

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

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

MAVG    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MAVG    (
            expression,
            rows_1,
            rows_2
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

MAVG    (
            SUM (
                    [orders_profit]
                ),
            2,
            0 
            TOTAL
            ORDER BY [order_date] ASC
        )

Результат:

MAVG

Подробнее

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

MAVG_step1

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

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

MAVG_step2

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

MAX (оконная)

#оконная

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

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

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MAX     (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 с учетом группировки.

Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время поздняя из дат и позднее из времени
Число (дробное) наибольшее число
Число (целое) наибольшее число
Строка последнюю строку в алфавитном порядке
Логическое TRUE
MAX_IF  (
            expression, 
            condition
            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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MAX_IF  (
            expression, 
            condition
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

MCOUNT  (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MCOUNT  (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

MCOUNT  (
            SUM (
                    [orders]
                ),
            2,
            0   
            TOTAL
            ORDER BY [order_date] DESC
        )
MCOUNT   (
            SUM (
                    [orders]
                ),
            2,
            0 
            WITHIN [customer_id]
            ORDER BY [order_date] DESC
        ) 

Результат:

MCOUNT

Подробнее

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

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

MCOUNT_step1

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

  • Count (количество), в Промежуточное значение указана формула MCOUNT (SUM ([orders]), 2, 0 TOTAL ORDER BY [order_date] DESC)(1)
  1. ℹ функция отображает количество записей для текущей даты и двух предыдущих по всем записям, так как не используется группировка (TOTAL)

MCOUNT_step2

  • Count_cust (количество по клиенту), в Промежуточное значение указана формула `MCOUNT (SUM ([orders]), 2, 0 WITHIN [customer_id] ORDER BY [order_date] DESC)(1)
  1. ℹ функция отображает количество записей для текущей даты заказа клиента и двух предыдущих по клиенту, так как используется группировка (WITHIN)

MCOUNT_step2_1

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

MIN (оконная)

#оконная

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

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

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MIN     (
            expression 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 с учетом группировки.

Возвращаемые значения для типов данных
Тип данных Результат
Дата/ Дата и время ранняя из дат и раннее из времени
Число (дробное) наименьшее число
Число (целое) наименьшее число
Строка первую строку в алфавитном порядке
Логическое FALSE
MIN_IF  (
            expression, 
            condition
            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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MIN_IF  (
            expression, 
            condition
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

MMAX    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MMAX    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

MMIN    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MMIN  (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 используется, когда необходимо захватить для расчета как предыдущие так и последующие записи.

MSUM    (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

MSUM   (
            expression,
            rows_1,
            rows_2 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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.

Недоступно применение функции в виджете Сводная таблица, построенном на группах-строках.

RANK    (
            expression, 
            direction
            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] верхний уровень группировки

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RANK  (
            expression, 
            direction 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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.

Недоступно применение функции в виджете Сводная таблица, построенном на группах-строках.

RANK_DENSE  (
                expression, 
                direction
                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] верхний уровень группировки

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RANK_DENSE  (
                expression, 
                direction 
                TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
                BEFORE FILTER BY field_1, ..., field_N
                FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
            )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 - от текущей до последней.

RAVG    (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RAVG  (
            expression, 
            direction 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

RAVG    (
            SUM (
                    [orders_profit]
                )
            TOTAL
            ORDER BY [order_date]
        )

Результат:

RAVG

Подробнее

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

RAVG_step1

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

  1. ℹ функция суммирует прибыль по всем датам в порядке возрастания и расчитывает среднее

RAVG_step2

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

RCOUNT

#оконная

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

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

RCOUNT  (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RCOUNT (
            expression, 
            direction 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

RCOUNT  (
            SUM (
                    [orders_profit]
                )
            TOTAL
            ORDER BY [order_date]
        )

Результат:

RCOUNT

Подробнее

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

RCOUNT_step1

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

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

RCOUNT_step2

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

RMAX

#оконная

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

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

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

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RMAX (
            expression, 
            direction 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

RMAX  (
            SUM (
                    [orders_profit]
                )
            TOTAL
            ORDER BY [order_date]
        )

Результат:

RMAX

Подробнее

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

RMAX_step1

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

  1. ℹ функция суммирует прибыль по датам последовательно по возрастанию и определяет максимум

RMAX_step2

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

RMIN

#оконная

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

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

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

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RMIN (
            expression, 
            direction 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

RMIN  (
            SUM (
                    [orders_profit]
                )
            TOTAL
            ORDER BY [order_date]
        )

Результат:

RMIN

Подробнее

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

RMIN_step1

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

  1. ℹ функция суммирует прибыль по датам последовательно по возрастанию и определяет минимум

RMIN_step2

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

RSUM

#оконная

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

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

RSUM  (
            expression,
            direction
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
        )

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

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

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

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

При вызове функции доступно применение сортировки ORDER BY после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:

  • ASC - по возрастанию, используется по умолчанию;
  • DESC - по убыванию.

Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.

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

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

RSUM    (
            expression, 
            direction 
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            ORDER BY field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

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

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

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

Формула:

RSUM  (
            SUM (
                    [orders_profit]
                )
            TOTAL
            ORDER BY [order_date]
        )

Результат:

RSUM

Подробнее

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

RSUM_step1

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

  1. ℹ функция суммирует прибыль по всем датам в порядке возрастания

RSUM_step2

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

SUM (оконная)

#оконная

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

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

SUM ( 
        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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

SUM     (
            expression
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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.

SUM_IF  (
            expression, 
            condition 
            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] верхний уровень группировки

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

Для расширения возможностей функций доступно управление уровнем детализации (LOD):

  • FIXED — данные группируются по перечисленным полям (field_1, ..., field_N),(1) игнорируя поля, используемые для группировки в виджете;
  • INCLUDE — перечисленные поля (field_1, ..., field_N)(2) добавляются к группировке в виджете;
  • EXCLUDE — перечисленные поля (field_1, ..., field_N)(3) исключаются из группировки в виджете.
  1. ℹ при пустом списке полей все данные агрегируются в одной группе
  2. ℹ при пустом списке полей применяется группировка виджета
  3. ℹ при пустом списке полей применяется группировка виджета

Для расширения возможностей функций доступно управление вычислениями до фильтрации. Секция BEFORE FILTER BY указывает, что функция будет вычисляться до фильтрации по перечисленным полям.

Секция BEFORE FILTER BY поддерживается в агрегатных, оконных функциях и при использовании LOD-выражений.

Расширенный синтаксис:

SUM_IF  (
            expression, 
            condition
            TOTAL | WITHIN field_1, ..., field_N | AMONG field_1, ..., field_N
            BEFORE FILTER BY field_1, ..., field_N
            FIXED field_1, ..., field_N | INCLUDE field_1, ..., field_N | EXCLUDE field_1, ..., field_N
        )

LOD-выражения и секция BEFORE FILTER BY доступны только для промежуточных значений виджетов вида Таблица агрегатов и итоговых значений виджетов вида Таблица агрегатов и Таблица.

Обратите внимание

Для расчета итоговых значений по агрегатам с LOD-выражениями с двумя и более группировками в них(3) необходимо агрегировать формулу промежуточного значения. Например, формулу AVG ([field_1] FIXED [field_2], [field_3]) привести к виду SUM (AVG ([field_1] FIXED [field_2], [field_3])).

Недоступно использование НЕ пустых INCLUDE и EXCLUDE на верхнем(1) уровне вложенности агрегации с полями, которых нет в виджете.

Агрегации одного(2) уровня вложенности с НЕ пустыми EXCLUDE и FIXED должны быть согласованы: хотя бы одна из них должна содержать все поля детализации. Если функция_1 использует [A], то функция_2 должна использовать [A], [B].

  1. ℹ в формуле SUM (AVG()) - SUM верхний уровень агрегации
  2. ℹ в формуле SUM (AVG(), ANY()) - AVG и ANY агрегации одного уровня
  3. ℹ формула вида SUM ([] FIXED [], [])

Похожие: 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 (прибыль сумма по заказу) определены как Агрегаты.