Skip to content

Область окна ​

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

Примеры считаются на демо-датасете «Продажи»: заказы, товары и покупатели. Разрез — категория товара, если не сказано иное.

Не все функции доезжают до источника

В режиме прямого запроса формула переводится в SQL вашей базы, и часть функций в её диалекте отсутствует. У таких ниже стоит строка «В прямом запросе…» с перечнем баз, на которых расчёт не соберётся. Oracle, Firebird и Trino в этот перечень не входят: на них в прямом запросе не строится большинство виджетов — поддержка функций источниками.

AMONG ​

SUM( SUM( [ value ] ) AMONG [ dim ], … )

Окно — измерения виджета, кроме перечисленных.

Пример.

SUM(SUM([orders.amount]) AMONG [products.category])

134 683 500 — при единственном измерении исключение категории оставляет окном всю выборку, как у TOTAL. Разница видна на двух и более измерениях.

В прямом запросе не работает на: Vertica, MS SQL Server.

TOTAL ​

SUM( SUM( [ value ] ) TOTAL )

Окно — вся выборка целиком; так считают общий итог для доли.

Пример.

SUM(SUM([orders.amount]) TOTAL)

134 683 500 в каждой строке. Делением на это значение получают долю строки в итоге:

100.0 * SUM([orders.amount]) / SUM(SUM([orders.amount]) TOTAL)

Доля категории в общей выручке — 61,4 % у «Компьютеров».

В прямом запросе не работает на: Vertica, MS SQL Server.

WITHIN ​

SUM( SUM( [ value ] ) WITHIN [ dim ], … )

Окно — группы по перечисленным измерениям.

Пример.

SUM(SUM([orders.amount]) WITHIN [products.category])

4 003 500 у «Аксессуаров» — итог внутри своей категории, а не по всей выборке. Так считают долю внутри группы.

В прямом запросе не работает на: Vertica, MS SQL Server.

Что дальше ​