Оконные функции¶
Оконные функции — позволяют выполнять вычисления над группой строк, но при этом не сворачивать (не объединять) результаты в одну строку, в отличие от агрегатных.
Синтаксис формул похож на SQL.
Общий синтаксис оконной функции:
<FUNCTION_NAME> (
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
AVG (оконная)¶
Позволяет рассчитать среднее значение для данных из строк выборки (окна).
Возвращает среднее арифметическое значение выражения expression с учетом группировки.
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное)
Похожие: AVG | AVG_IF | AVG_IF (оконная) | MAVG | RAVG | MEDIAN
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить среднее значение прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_avg
(прибыль среднее), в Промежуточное значение указана формулаAVG (SUM ([orders_profit]) TOTAL)
(1)
функция суммирует все значения прибыли, а затем делит на общее количество значений, так как не используется группировка (TOTAL)
Profit_avg_cust
(прибыль среднее по клиенту), в Промежуточное значение указана формулаAVG (SUM ([orders_profit]) WITHIN [customer_id])
(1)
функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN), а затем делит на количество записей по клиенту
Profit_avg_ord
(прибыль среднее по заказу), в Промежуточное значение указана формулаAVG (SUM ([orders_profit]) AMONG [customer_id])
(1)
функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем делит на количество записей по заказу
4.Расчетные агрегаты Profit_avg
(прибыль среднее), Profit_avg_cust
(прибыль среднее по клиенту) и Profit_avg_ord
(прибыль среднее по заказу) определены как Агрегаты.
AVG_IF (оконная)¶
Позволяет рассчитать среднее значение для данных из строк выборки (окна), которые подходят под условие.
Возвращает среднее значение для выражения expression, которые удовлетворяют условию condition с учетом группировки. Если значения отсутствуют, то возвращается NULL
.
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное)
Похожие: AVG | AVG (оконная) | AVG_IF | MAVG | RAVG | MEDIAN
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить среднее значение прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_avg
(прибыль среднее), в Промежуточное значение указана формулаAVG_IF (SUM ([orders_profit]) TOTAL)
(1)
функция суммирует все значения прибыли, а затем делит на общее количество значений, так как не используется группировка (TOTAL)
Profit_avg_cust
(прибыль среднее по клиенту), в Промежуточное значение указана формулаAVG_IF (SUM ([orders_profit]) WITHIN [customer_id])
(1)
функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN), а затем делит на количество записей по клиенту
Profit_avg_ord
(прибыль среднее по заказу), в Промежуточное значение указана формулаAVG_IF (SUM ([orders_profit]) AMONG [customer_id])
(1)
функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем делит на количество записей по заказу
4.Расчетные агрегаты Profit_avg
(прибыль среднее), Profit_avg_cust
(прибыль среднее по клиенту) и Profit_avg_ord
(прибыль среднее по заказу) определены как Агрегаты.
COUNT (оконная)¶
Позволяет рассчитать количество строк выборки (окна).
Возвращает количество элементов в заданном выражении expression с учетом группировки.
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Похожие: COUNT | COUNT_IF | COUNT_IF (оконная) | COUNTD | COUNTD_IF | COUNTD_APPROX | MCOUNT | RCOUNT
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить количество результатов расчета среднего значения прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_count
(количество среднее), в Промежуточное значение указана формулаCOUNT (AVG ([orders_profit]) TOTAL)
(1)
функция отображает количество записей, участвующих в расчёте среднего значения прибыли по всем записям, так как не используется группировка (TOTAL)
Profit_count_cust
(количество среднее по клиенту), в Промежуточное значение указана формулаCOUNT (AVG ([orders_profit]) WITHIN [customer_id])
(1)
функция отображает количество записей, участвующих в расчёте среднего значения прибыли по клиенту, так как используется группировка (WITHIN)
Profit_count_ord
(количество среднее по заказу), в Промежуточное значение указана формулаCOUNT (AVG ([orders_profit]) AMONG [customer_id])
(1)
функция отображает количество записей, участвующих в расчёте среднего значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Похожие: COUNT | COUNT (оконная) | COUNT_IF | COUNTD | COUNTD_IF | COUNTD_APPROX | MCOUNT | RCOUNT
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить количество результатов расчета среднего значения прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_count
(количество среднее), в Промежуточное значение указана формулаCOUNT_IF (AVG ([orders_profit]), [orders_profit] > 0 TOTAL)
(1)
функция отображает количество записей, участвующих в расчёте среднего значения прибыли по всем записям, где прибыль положительная, так как не используется группировка (TOTAL) и применяется условие >0
Profit_count_cust
(количество среднее по клиенту), в Промежуточное значение указана формулаCOUNT_IF (AVG ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])
(1)
функция отображает количество записей, где прибыль положительная, участвующих в расчёте среднего значения прибыли по клиенту, так как используется группировка (WITHIN) и применяется условие >0
Profit_count_ord
(количество среднее по заказу), в Промежуточное значение указана формулаCOUNT_IF (AVG ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])
(1)
функция отображает количество записей, где прибыль положительная, участвующих в расчёте среднего значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту и применяется условие >0
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Исходные данные: Доступны данные по датам заказов, клиентам и прибыли по заказам.
Цель: Отобразить суммарную прибыль по всем заказам и сумму прибыли по заказам клиента.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_date
(дата заказа) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(сумма прибыли), в Промежуточное значение указана формулаFIRST (SUM ([orders_profit]) TOTAL ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL) и выбирает сумму по самой ранней дате заказа
Profit_sum_cust
(сумма прибыли по клиенту), в Промежуточное значение указана формулаFIRST (SUM ([orders_profit]) WITHIN [customer_id] ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), сортирует по дате и отображает первое значение по самой ранней дате заказа
4.Расчетные агрегаты Profit_sum
(сумма прибыли), Profit_sum_cust
(сумма прибыли по клиенту) и определены как Агрегаты.
LAG¶
Позволяет отобразить значение из заданной строки выборки (окна).
Возвращает значение expression из выражения со смещением offset(1)(по умолчанию 1 - предыдущее значение) с учетом группировки. При отсутствии значения возвращает NULL
или default
, если задано.
положительное (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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression и default: Число (целое), Число (дробное), Строка, Дата, Логическое
Тип данных offset: Число (целое)
Исходные данные: Доступны данные по датам заказов, клиентам и прибыли по заказам.
Цель: Отобразить итоговую прибыль предыдущего заказа для всех заказов и прибыль предыдущего заказа по клиенты.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_date
(дата заказа) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(сумма прибыли), в Промежуточное значение указана формулаLAG (SUM ([orders_profit]), 1, 0 TOTAL ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL) и выбирает сумму предыдущего по дате заказа
Profit_sum_cust
(сумма прибыли по клиенту), в Промежуточное значение указана формулаLAG (SUM ([orders_profit]), 1, 0 WITHIN [customer_id] ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN) и выбирает сумму предыдущего по дате заказа клиента
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Исходные данные: Доступны данные по датам заказов, клиентам и прибыли по заказам.
Цель: Отобразить последнее значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_date
(дата заказа) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаLAST (SUM ([orders_profit]) TOTAL ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL) и выбирает сумму по самой поздней дате заказа
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаLAST (SUM ([orders_profit]) WITHIN [customer_id] ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN) и выбирает сумму по самой поздней дате заказа клиента
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное)
Тип данных rows_1 и rows_2: Число (целое)
Похожие: AVG | AVG (оконная) | AVG_IF | AVG_IF (оконная) | RAVG | MEDIAN
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить скользящее среднее прибыли для заказа и двух предыдущих.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Order_date
(дата заказа) определено как Группы, поле Profit_sum
(сумма прибыли за месяц) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_mavg
(прибыль среднее), в Промежуточное значение указана формула MAVG (SUM ([orders_profit]), 2, 0 TOTAL ORDER BY [order_date] ASC)
(1)
функция суммирует прибыль по текущей дате заказа, так как не используется группировка (TOTAL), а затем рассчитывает среднее с учетом значения сумм для двух предыдущих дат, отсортированных по возрастанию
3.Расчетный агрегат Profit_mavg
(прибыль среднее) определен как Столбцы.
MAX (оконная)¶
Позволяет рассчитать максимальное значение выборки (окна).
Возвращает максимальное значение для expression с учетом группировки.
Возвращаемые значения для типов данных
Тип данных | Результат |
---|---|
Дата/ Дата и время | поздняя из дат и позднее из времени |
Число (дробное) | наибольшее число |
Число (целое) | наибольшее число |
Строка | последнюю строку в алфавитном порядке |
Логическое | TRUE |
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Похожие: ARG_MAX | GREATEST | MAX | MAX_IF | MAX_IF (оконная) | MMAX | RMAX
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить максимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаMAX (SUM ([orders_profit]) TOTAL)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит максимальное значение
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаMAX (SUM ([orders_profit]) WITHIN [customer_id])
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит максимальное значение
Profit_sum_ord
(прибыль сумма по заказу), в Промежуточное значение указана формулаMAX (SUM ([orders_profit]) AMONG [customer_id])
(1)
функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит максимальное значение
4.Расчетные агрегаты Profit_sum
(прибыль сумма), Profit_sum_cust
(прибыль сумма по клиенту) и Profit_sum_ord
(прибыль сумма по заказу) определены как Агрегаты.
MAX_IF (оконная)¶
Позволяет рассчитать максимальное значение выборки (окна), которые подходят под условие.
Возвращает максимальное значение для expression, которые удовлетворяют условию condition с учетом группировки.
Возвращаемые значения для типов данных
Тип данных | Результат |
---|---|
Дата/ Дата и время | поздняя из дат и позднее из времени |
Число (дробное) | наибольшее число |
Число (целое) | наибольшее число |
Строка | последнюю строку в алфавитном порядке |
Логическое | TRUE |
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Похожие: ARG_MAX | GREATEST | MAX | MAX (оконная) | MAX_IF | MMAX | RMAX
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить максимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаMAX_IF (SUM ([orders_profit]), [orders_profit] > 0 TOTAL)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит максимальное значение
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаMAX_IF (SUM ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит максимальное значение
Profit_sum_ord
(прибыль сумма по заказу), в Промежуточное значение указана формулаMAX_IF (SUM ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])
(1)
функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит максимальное значение
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Тип данных rows_1 и rows_2: Число (целое)
Похожие: COUNT | COUNT (оконная) | COUNT_IF | COUNT_IF (оконная) | COUNTD | COUNTD_IF | COUNTD_APPROX | RCOUNT
Исходные данные: Доступны данные по датам заказов, заказам и клиентам.
Цель: Отобразить количество заказов в последних 3 строках по всему набору и по клиенту.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Orders
(заказ) и Order_date
(дата заказа) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Count
(количество), в Промежуточное значение указана формулаMCOUNT (SUM ([orders]), 2, 0 TOTAL ORDER BY [order_date] DESC)
(1)
функция отображает количество записей для текущей даты и двух предыдущих по всем записям, так как не используется группировка (TOTAL)
Count_cust
(количество по клиенту), в Промежуточное значение указана формула`MCOUNT (SUM ([orders]), 2, 0 WITHIN [customer_id] ORDER BY [order_date] DESC)
(1)
функция отображает количество записей для текущей даты заказа клиента и двух предыдущих по клиенту, так как используется группировка (WITHIN)
4.Расчетные агрегаты Count
(количество), Count_cust
(количество по клиенту) определены как Агрегаты.
MIN (оконная)¶
Позволяет рассчитать минимальное значение выборки (окна).
Возвращает минимальное значение для expression с учетом группировки.
Возвращаемые значения для типов данных
Тип данных | Результат |
---|---|
Дата/ Дата и время | ранняя из дат и раннее из времени |
Число (дробное) | наименьшее число |
Число (целое) | наименьшее число |
Строка | первую строку в алфавитном порядке |
Логическое | FALSE |
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Похожие: ARG_MIN | LEAST | MIN | MIN_IF | MIN_IF (оконная) | MMIN | RMIN
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить минимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаMIN (SUM ([orders_profit]) TOTAL)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит минимальное значение
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаMIN (SUM ([orders_profit]) WITHIN [customer_id])
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит минимальное значение
Profit_sum_ord
(прибыль сумма по заказу), в Промежуточное значение указана формулаMIN (SUM ([orders_profit]) AMONG [customer_id])
(1)
функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит минимальное значение
4.Расчетные агрегаты Profit_sum
(прибыль сумма), Profit_sum_cust
(прибыль сумма по клиенту) и Profit_sum_ord
(прибыль сумма по заказу) определены как Агрегаты.
MIN_IF (оконная)¶
Позволяет рассчитать минимальное значение выборки (окна), которые подходят под условие.
Возвращает минимальное значение для expression, которые удовлетворяют условию condition с учетом группировки.
Возвращаемые значения для типов данных
Тип данных | Результат |
---|---|
Дата/ Дата и время | ранняя из дат и раннее из времени |
Число (дробное) | наименьшее число |
Число (целое) | наименьшее число |
Строка | первую строку в алфавитном порядке |
Логическое | FALSE |
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Похожие: ARG_MIN | LEAST | MIN | MIN (оконная) | MIN_IF | MMIN | RMIN
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить минимальное значение результатов расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаMIN_IF (SUM ([orders_profit]), [orders_profit] > 0 TOTAL)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем выводит минимальное значение
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаMIN_IF (SUM ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем выводит минимальное значение
Profit_sum_ord
(прибыль сумма по заказу), в Промежуточное значение указана формулаMIN_IF (SUM ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])
(1)
функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем выводит минимальное значение
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное)
Тип данных rows_1 и rows_2: Число (целое)
Похожие: ARG_MAX | GREATEST | MAX | MAX (оконная) | MAX_IF | MAX_IF (оконная) | RMAX
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить максимальную прибыль для месяца и двух предыдущих.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Month_orders
(месяц заказа) определено как Группы, поле Profit_sum
(сумма прибыли за месяц) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_max_3m
(прибыль макс. за 3мес), в Промежуточное значение указана формула MMAX (SUM ([orders_profit]), 2 TOTAL)
(1)
функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает максимальное с учетом значения для двух предыдущих месяцев
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное)
Тип данных rows_1 и rows_2: Число (целое)
Похожие: ARG_MIN | LEAST | MIN | MIN (оконная) | MIN_IF | MIN_IF (оконная) | RMIN
Исходные данные: Доступны данные по месяцам заказа и прибыли по заказам.
Цель: Отобразить скользящее минимальное значение прибыли для месяца и двух предыдущих.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Month_orders
(месяц заказа) определено как Группы, поле Profit_sum
(сумма прибыли за месяц) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_min_3m
(прибыль мин. за 3мес), в Промежуточное значение указана формула MMIN (SUM ([orders_profit]), 2 TOTAL)
(1)
функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает минимальное с учетом значения для двух предыдущих месяцев
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное)
Тип данных rows_1 и rows_2: Число (целое)
Похожие: RSUM | SUM | SUM (оконная) | SUM_IF | SUM_IF (оконная)
Исходные данные: Доступны данные по месяцам заказа и прибыли по заказам.
Цель: Отобразить скользящее значение суммы прибыли для месяца и двух предыдущих.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Month_orders
(месяц заказа) определено как Группы, поле Profit_sum
(сумма прибыли за месяц) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_sum_3m
(прибыль сумма за 3мес), в Промежуточное значение указана формула MSUM (SUM ([orders_profit]), 2 TOTAL)
(1)
функция суммирует прибыль по текущему месяцу, так как не используется группировка (TOTAL), а затем рассчитывает сумму с учетом значения для двух предыдущих месяцев
3.Расчетный агрегат Profit_sum_3m
(прибыль сумма за 3мес) определен как Столбцы.
RANK¶
Позволяет ранжировать значения выборки (окна). Присваивает одинаковым значениям один ранг, а последующая нумерация сдвигается от повторов.
Возвращает порядковый номер expression после сортировки по direction с учетом группировки. При пустом параметре direction по умолчанию применяется значение 'desc' - от большего к меньшему, указав значение 'asc' применится от меньшего к большему.
Для строк выборки с одинаковыми значениями присваивается одинаковый ранг, а следующей строке с отличным значением присваивается ранг с учетом повторов. Например, 1 и 2 строка - ранг 1, 3 строка - ранг 3.
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Тип данных direction: Строка
Похожие: RANK_DENSE
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Ранжировать от меньшего к большему результаты расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum_rang
(прибыль сумма ранг), в Промежуточное значение указана формулаRANK (SUM ([orders_profit]), 'asc' TOTAL)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем ранжирует значения от меньшего к большему
Profit_sum_rang_cust
(прибыль сумма ранг по клиенту), в Промежуточное значение указана формулаRANK (SUM ([orders_profit]), 'asc' WITHIN [customer_id])
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем ранжирует значения от меньшего к большему
Profit_sum_rang_ord
(прибыль сумма ранг по заказу), в Промежуточное значение указана формулаRANK (SUM ([orders_profit]), 'asc' AMONG [customer_id])
(1)
функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем ранжирует значения от меньшего к большему
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное), Дата, Строка, Логическое
Тип данных direction: Строка
Похожие: RANK
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Ранжировать от меньшего к большему результаты расчета суммы прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum_rang
(прибыль сумма ранг), в Промежуточное значение указана формулаRANK_DENSE (SUM ([orders_profit]), 'asc' TOTAL)
(1)
функция суммирует прибыль по всем записям, так как не используется группировка (TOTAL), а затем ранжирует значения от меньшего к большему
Profit_sum_rang_cust
(прибыль сумма ранг по клиенту), в Промежуточное значение указана формулаRANK_DENSE (SUM ([orders_profit]), 'asc' WITHIN [customer_id])
(1)
функция суммирует прибыль по клиенту, так как используется группировка (WITHIN), а затем ранжирует значения от меньшего к большему
Profit_sum_rang_ord
(прибыль сумма ранг по заказу), в Промежуточное значение указана формулаRANK_DENSE (SUM ([orders_profit]), 'asc' AMONG [customer_id])
(1)
функция суммирует прибыль по заказу, так как используется группировка (AMONG) НЕ по клиенту, а затем ранжирует значения от меньшего к большему
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное)
Тип данных direction: Строка
Похожие: AVG | AVG (оконная) | AVG_IF | AVG_IF (оконная) | MAVG | MEDIAN
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить нарастающее среднее прибыли.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Order_date
(дата заказа) определено как Группы, поле Orders_profit
(прибыль) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_avg
(прибыль среднее), в Промежуточное значение указана формула RAVG (SUM ([orders_profit]) ORDER BY [order_date])
(1)
функция суммирует прибыль по всем датам в порядке возрастания и расчитывает среднее
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Тип данных direction: Строка
Похожие: COUNT | COUNT (оконная) | COUNT_IF | COUNT_IF (оконная) | COUNTD | COUNTD_IF | COUNTD_APPROX | MCOUNT
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить нарастающее количество строк для расчета суммы прибыли.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Order_date
(дата заказа) определено как Группы, поле Orders_profit
(прибыль) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_count
(количество), в Промежуточное значение указана формула RCOUNT (SUM ([orders_profit]) TOTAL ORDER BY [order_date])
(1)
функция суммирует количество строк по датам по возрастанию, так как не используется группировка (TOTAL)
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Тип данных direction: Строка
Похожие: ARG_MAX | GREATEST | MAX | MAX (оконная) | MAX_IF | MAX_IF (оконная) | MMAX
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить нарастающий максимум суммы прибыли.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Order_date
(дата заказа) определено как Группы, поле Orders_profit
(прибыль) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_max
(прибыль макс.), в Промежуточное значение указана формула RMAX (SUM ([orders_profit]) TOTAL ORDER BY [order_date])
(1)
функция суммирует прибыль по датам последовательно по возрастанию и определяет максимум
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное), Строка, Дата, Логическое
Тип данных direction: Строка
Похожие: ARG_MIN | LEAST | MIN | MIN (оконная) | MIN_IF | MIN_IF (оконная) | MMIN
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить нарастающий минимум суммы прибыли.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Order_date
(дата заказа) определено как Группы, поле Orders_profit
(прибыль) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_min
(прибыль мин.), в Промежуточное значение указана формула RMIN (SUM ([orders_profit]) TOTAL ORDER BY [order_date])
(1)
функция суммирует прибыль по датам последовательно по возрастанию и определяет минимум
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 оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
При вызове функции доступно применение сортировки ORDER BY
после группировки. Сортировка по полям применяется для расчетов и важна для функций, в которых расчеты явно зависят от порядка сортировки. Для указания направления сортировки применяются:
ASC
- по возрастанию, используется по умолчанию;DESC
- по убыванию.
Итоговая сортировка полей виджета зависит от сортировки для групп, скрытых полей и агрегатов.
Тип данных expression: Число (целое), Число (дробное)
Тип данных direction: Строка
Похожие: MSUM | SUM | SUM (оконная) | SUM_IF | SUM_IF (оконная)
Исходные данные: Доступны данные по датам заказа и прибыли по заказам.
Цель: Отобразить нарастающую сумму прибыли.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Данные поле Order_date
(дата заказа) определено как Группы, поле Orders_profit
(прибыль) определено как Столбцы.
2.В Расчетные агрегаты добавлен новый агрегат Profit_sum
(прибыль сумма), в Промежуточное значение указана формула RSUM (SUM ([orders_profit]) TOTAL ORDER BY [order_date])
(1)
функция суммирует прибыль по всем датам в порядке возрастания
3.Расчетный агрегат Profit_sum
(прибыль сумма) определен как Столбцы.
SUM (оконная)¶
Позволяет рассчитать сумму значений для данных из строк выборки (окна).
Возвращает сумму значений выражения expression с учетом группировки.
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное)
Похожие: MSUM | RSUM | SUM | SUM_IF | SUM_IF (оконная)
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить суммарное значение прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаSUM (SUM ([orders_profit]) TOTAL)
(1)
функция суммирует все значения прибыли, так как не используется группировка (TOTAL)
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаSUM (SUM ([orders_profit]) WITHIN [customer_id])
(1)
функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN)
Profit_sum_ord
(прибыль сумма по заказу), в Промежуточное значение указана формулаSUM (SUM ([orders_profit]) AMONG [customer_id])
(1)
функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту
4.Расчетные агрегаты Profit_sum
(прибыль сумма), Profit_sum_cust
(прибыль сумма по клиенту) и Profit_sum_ord
(прибыль сумма по заказу) определены как Агрегаты.
SUM_IF (оконная)¶
Позволяет рассчитать сумму значений для данных из строк выборки (окна), которые подходят под условие.
Возвращает сумму значений для выражения expression, которые удовлетворяют условию condition с учетом группировки. Если значения отсутствуют, то возвращается NULL
.
При вызове функции применяется группировка:
WITHIN
- используется группировка по указанным полям field_N. В field_N необходимо указывать данные - Группы в структуре виджета;AMONG
- используется группировка по полям, кроме field_N. В field_N необходимо указывать данные - Группы в структуре виджета;TOTAL
- без группировки, для расчета используются все данные выборки.
Для виджетов вида Таблица и Сводная таблица поддерживается работа только с верхним(1) уровнем вложенности группировки в WITHIN
или TOTAL
без группировки. Группировка AMONG
не применяется.
В качестве expression оконная функция принимает только результат агрегации.
при группировке по полям [A], [B] - [A] верхний уровень группировки
Тип данных expression: Число (целое), Число (дробное)
Похожие: MSUM | RSUM | SUM | SUM_IF | SUM (оконная)
Исходные данные: Доступны данные по заказам, клиентам и прибыли по заказам.
Цель: Отобразить суммарное значение прибыли по всем заказам, с группировкой по клиенту и группировкой по заказу, при условии, что прибыль не отрицательная.
Формула:
Результат:
Подробнее
1.В виджете на вкладке Вид выбрана таблица агрегатов.
2.На вкладке Данные поля Customer_id
(клиент), Order_id
(заказ) и Orders_profit
(прибыль) определены как Группы.
3.В Расчетные агрегаты добавлены новые агрегаты:
Profit_sum
(прибыль сумма), в Промежуточное значение указана формулаSUM_IF (SUM ([orders_profit]), [orders_profit] > 0 TOTAL)
(1)
функция суммирует все значения прибыли, так как не используется группировка (TOTAL)
Profit_sum_cust
(прибыль сумма по клиенту), в Промежуточное значение указана формулаSUM_IF (SUM ([orders_profit]), [orders_profit] > 0 WITHIN [customer_id])
(1)
функция суммирует значения прибыли по клиенту, так как используется группировка (WITHIN)
Profit_sum_ord
(прибыль сумма по заказу), в Промежуточное значение указана формулаSUM_IF (SUM ([orders_profit]), [orders_profit] > 0 AMONG [customer_id])
(1)
функция суммирует значения прибыли по заказу, так как используется группировка (AMONG) НЕ по клиенту
4.Расчетные агрегаты Profit_sum
(прибыль сумма), Profit_sum_cust
(прибыль сумма по клиенту) и Profit_sum_ord
(прибыль сумма по заказу) определены как Агрегаты.