Skip to content

Справочник функций ​

В языке формул платформы 133 функции в 10 категориях. Эта страница — полный список: ищите по ней сочетанием Ctrl+F. Подробный разбор с примерами — на странице своей категории.

Из 133 функций на витрине платформы без оговорок работают 110; у остальных 23 в колонке «Особенности» сказано, что именно мешает — ограничения языка формул.

В режиме прямого запроса формула переводится в диалект вашей базы, и часть функций до неё не доезжает — поддержка функций источниками.

Как читать синтаксис ​

Имена аргументов в справочнике одинаковы у всех функций и означают, что можно подставить:

В синтаксисеЧто подставляют
numberЧисловое поле или выражение: [orders.amount], SUM([orders.amount]), 12
valueЗначение любого типа — функция не требует именно числа
stringТекстовое поле или строка в кавычках: [products.category], 'Компьютеры'
date, datetimeПоле даты, литерал #2026-01-01# или TODAY()
conditionЛогическое выражение: [orders.amount] > 1000
unitЕдиница времени строкой: 'day', 'week', 'month', 'quarter', 'year'
n, rows, offsetЦелое число: сдвиг, размер окна, количество
directionПорядок строкой: 'asc' или 'desc'
pattern, substr, prefix, suffixСтрока для поиска или сравнения
defaultЗначение, которое подставится вместо пустого
measureУже посчитанная агрегация: SUM([orders.amount])

Квадратные скобки вокруг имени поля — ссылка на поле, как в формуле: [ date ], [ dim ]. Квадратные скобки с запятой внутри — необязательный аргумент. Запись ROUND( number [, precision ] ) читается так: точность можно не указывать, тогда округление идёт до целого. Вложенные скобки — несколько необязательных подряд: DATEADD( date [, unit [, n ] ] ).

Многоточие — аргументов может быть сколько угодно: CONCAT( a, b, … ).

Где писать формулу

Функции доступны в вычисляемых полях датасета и в вычисляемых полях виджета — вычисляемые поля. В фильтрах и сортировке доступны не все: смотрите колонку «Особенности».

Агрегатные функции ​

Разбор с примерами — агрегатные функции.

ФункцияСинтаксисЧто делаетОсобенности
ALL_CONCATALL_CONCAT( string [, sep ] )Склеивает все значения в строку через разделитель.источник не исполняет
ANYANY( value )Одно из значений набора — возвращается наименьшее.
ARG_MAXARG_MAX( value, number )Значение, соответствующее максимуму второго аргумента. Доступно на ClickHouse и…
ARG_MINARG_MIN( value, number )Значение, соответствующее минимуму второго аргумента. Доступно на ClickHouse и…
AVGAVG( number )Среднее арифметическое всех значений.
AVG_IFAVG_IF( number, condition )Среднее значений, удовлетворяющих условию.
COUNTCOUNT( [ value ] )Количество значений (строк).
COUNTDCOUNTD( value )Количество уникальных значений.
COUNTD_APPROXCOUNTD_APPROX( value )Приближённое количество уникальных значений (быстрее).помечена как неисполняемая, но работает
COUNTD_IFCOUNTD_IF( value, condition )Количество уникальных значений по условию.
COUNT_IFCOUNT_IF( condition )Количество значений, для которых условие истинно.
MAXMAX( value )Максимальное значение.
MAX_IFMAX_IF( value, condition )Максимум среди значений по условию.
MEDIANMEDIAN( number )Медиана значений.источник не исполняет
MINMIN( value )Минимальное значение.
MIN_IFMIN_IF( value, condition )Минимум среди значений по условию.
QUANTILEQUANTILE( number, quant )Точный квантиль уровня quant (0..1).источник не исполняет
QUANTILE_APPROXQUANTILE_APPROX( number, quant )Приближённый квантиль уровня quant.источник не исполняет
STDEVSTDEV( number )Стандартное отклонение по выборке.помечена как неисполняемая, но работает
STDEVPSTDEVP( number )Стандартное отклонение по генеральной совокупности.помечена как неисполняемая, но работает
SUMSUM( number )Сумма всех значений выражения.
SUM_IFSUM_IF( number, condition )Сумма значений, для которых условие истинно.
TOP_CONCATTOP_CONCAT( string, n [, sep ] )Склеивает первые n значений в строку.источник не исполняет
VARVAR( number )Дисперсия по выборке.помечена как неисполняемая, но работает
VARPVARP( number )Дисперсия по генеральной совокупности.помечена как неисполняемая, но работает

Уровень детализации (LOD) ​

Разбор с примерами — уровень детализации (lod).

ФункцияСинтаксисЧто делаетОсобенности
EXCLUDESUM( [ value ] EXCLUDE [ dim ], … )Из измерений виджета убираются перечисленные — так считают долю от целого.
FIXEDSUM( [ value ] FIXED [ dim ], … )Агрегат считается со строго заданной группировкой, независимо от измерений виджета.
INCLUDESUM( [ value ] INCLUDE [ dim ], … )К измерениям виджета добавляются перечисленные — агрегат считается детальнее.

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

Разбор с примерами — оконные функции.

ФункцияСинтаксисЧто делаетОсобенности
FIRSTFIRST( value )Первое значение в окне.
LAGLAG( value [, offset ] )Значение со смещением назад в окне.
LASTLAST( value )Последнее значение в окне.
LEADLEAD( value [, offset ] )Значение со смещением вперёд в окне.
MAVGMAVG( number, rows )Скользящее среднее по окну строк.
MCOUNTMCOUNT( value, rows )Скользящее количество по окну строк.
MMAXMMAX( value, rows )Скользящий максимум по окну строк.
MMINMMIN( value, rows )Скользящий минимум по окну строк.
MSUMMSUM( number, rows )Скользящая сумма по окну строк.
RANKRANK( value [, direction ] )Ранг значения; одинаковым значениям — общий ранг, следующий идёт с пропуском.
RANK_DENSERANK_DENSE( value [, direction ] )Плотный ранг значения — без пропусков после совпадений.
RANK_PERCENTILERANK_PERCENTILE( value [, direction ] )Ранг значения в долях от единицы.
RANK_UNIQUERANK_UNIQUE( value [, direction ] )Ранг с обязательным различением совпавших значений.
RAVGRAVG( number )Нарастающее среднее.
RCOUNTRCOUNT( value )Нарастающее количество.
RMAXRMAX( value )Нарастающий максимум.
RMINRMIN( value )Нарастающий минимум.
ROW_NUMBERROW_NUMBER()Номер строки в окне.
RSUMRSUM( number )Нарастающая сумма.

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

Разбор с примерами — область окна.

ФункцияСинтаксисЧто делаетОсобенности
AMONGSUM( SUM( [ value ] ) AMONG [ dim ], … )Окно — измерения виджета, кроме перечисленных.
TOTALSUM( SUM( [ value ] ) TOTAL )Окно — вся выборка целиком; так считают общий итог для доли.
WITHINSUM( SUM( [ value ] ) WITHIN [ dim ], … )Окно — группы по перечисленным измерениям.

Функции времени ​

Разбор с примерами — функции времени.

ФункцияСинтаксисЧто делаетОсобенности
AGOAGO( measure, [ date ] [, unit ] [, number ] )Значение показателя на дату со смещением: «столько же год назад». Единица — year,…нужна дата в разрезе
AT_DATEAT_DATE( measure, [ date ], target_date )Значение показателя на заданную дату: константу (#2026-01-01#, TODAY()) либо выражение…нужна дата в разрезе

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

Разбор с примерами — логические функции.

ФункцияСинтаксисЧто делаетОсобенности
IFIF cond THEN val [ ELSEIF … ] ELSE def ENDВозвращает значение по первому истинному условию.
IFNULLIFNULL( value, default )Возвращает value, либо default, если value пустое.
ISNULLISNULL( value )Истина, если значение пустое (NULL).
ZNZN( number )Заменяет NULL на 0.

Математические функции ​

Разбор с примерами — математические функции.

ФункцияСинтаксисЧто делаетОсобенности
ABSABS( number )Абсолютное значение числа.
ACOSACOS( number )Арккосинус.
ASINASIN( number )Арксинус.
ATANATAN( number )Арктангенс.
ATAN2ATAN2( y, x )Арктангенс y/x с учётом четверти.
CEILINGCEILING( number )Округление вверх до целого.
COSCOS( number )Косинус (радианы).
COTCOT( number )Котангенс (радианы).только в прямом запросе
DEGREESDEGREES( number )Перевод радиан в градусы.
DIVDIV( number, number )Целочисленное деление — дробная часть отбрасывается.
DIV_SAFEDIV_SAFE( number, number [, default ] )Целочисленное деление; при делителе 0 возвращает default; третий аргумент на деле обязателен.
EXPEXP( number )Экспонента (e в степени number).
FDIV_SAFEFDIV_SAFE( number, number [, default ] )Дробное деление; при делителе 0 возвращает default; третий аргумент на деле обязателен.
FLOORFLOOR( number )Округление вниз до целого.
GREATESTGREATEST( a, b, … )Наибольшее из перечисленных значений; NULL в аргументах даёт NULL.
LEASTLEAST( a, b, … )Наименьшее из перечисленных значений; NULL в аргументах даёт NULL.
LNLN( number )Натуральный логарифм.
LOGLOG( number, base )Логарифм числа по заданному основанию.
LOG10LOG10( number )Десятичный логарифм.
PIPI()Число π.
POWERPOWER( number, exp )Возведение в степень.
RADIANSRADIANS( number )Перевод градусов в радианы.
ROUNDROUND( number [, precision ] )Округление до заданной точности.
SIGNSIGN( number )Знак числа: -1, 0 или 1.
SINSIN( number )Синус (радианы).
SQRTSQRT( number )Квадратный корень.
SQUARESQUARE( number )Квадрат числа.
TANTAN( number )Тангенс (радианы).

Строковые функции ​

Разбор с примерами — строковые функции.

ФункцияСинтаксисЧто делаетОсобенности
CHARCHAR( code )Символ по коду Unicode.нельзя агрегировать
CONCATCONCAT( a, b, … )Объединяет аргументы в одну строку.
CONTAINSCONTAINS( string, substr )Истина, если строка содержит подстроку.
ENDSWITHENDSWITH( string, suffix )Истина, если строка заканчивается суффиксом.
FINDFIND( string, substr [, start ] )Позиция подстроки в строке.
ICONTAINSICONTAINS( string, substr )CONTAINS без учёта регистра.
IENDSWITHIENDSWITH( string, suffix )ENDSWITH без учёта регистра.
ISTARTSWITHISTARTSWITH( string, prefix )STARTSWITH без учёта регистра.
LEFTLEFT( string, n )Первые n символов строки.
LENLEN( string )Длина строки в символах.
LOWERLOWER( string )Переводит в нижний регистр.
LTRIMLTRIM( string )Убирает пробелы слева.
REGEXP_EXTRACTREGEXP_EXTRACT( string, pattern )Первое совпадение с регулярным выражением; без совпадения — NULL.нельзя агрегировать
REGEXP_EXTRACT_NTHREGEXP_EXTRACT_NTH( string, pattern, n )n-е совпадение с регулярным выражением, нумерация с единицы.нельзя агрегировать
REGEXP_MATCHREGEXP_MATCH( string, pattern )Истина, если в строке найдено совпадение с регулярным выражением.нельзя агрегировать
REGEXP_REPLACEREGEXP_REPLACE( string, pattern, repl )Заменяет все вхождения; ссылка на группу — \1.нельзя агрегировать
REPLACEREPLACE( string, from, to )Замена всех вхождений подстроки.
RIGHTRIGHT( string, n )Последние n символов строки.
RTRIMRTRIM( string )Убирает пробелы справа.
SPACESPACE( n )Строка из n пробелов.нельзя агрегировать
SPLITSPLIT( string, delimiter, n )n-я часть строки; отрицательный номер отсчитывается с конца.нельзя агрегировать
STARTSWITHSTARTSWITH( string, prefix )Истина, если строка начинается с префикса.
SUBSTRSUBSTR( string, from [, len ] )Подстрока с позиции from.
TRIMTRIM( string )Убирает пробелы по краям.
UPPERUPPER( string )Переводит в верхний регистр.
UTF8UTF8( string )Перекодирует строку в UTF-8.источник не исполняет

Функции даты и времени ​

Разбор с примерами — функции даты и времени.

ФункцияСинтаксисЧто делаетОсобенности
DATEADDDATEADD( date [, unit [, n ] ] )Сдвигает дату на n единиц; по умолчанию на один день. Смещение — константа.
DATEPARTDATEPART( date, unit )Часть даты по имени единицы — то же, что одноимённая функция: DATEPART(d, 'month')…
DATETRUNCDATETRUNC( date, unit )Округляет дату вниз до единицы: year, quarter, month, day, hour, minute, second.
DAYDAY( date )День месяца.
DAYOFWEEKDAYOFWEEK( date )День недели.
HOURHOUR( datetime )Часы.нужно поле с временем
MINUTEMINUTE( datetime )Минуты.нужно поле с временем
MONTHMONTH( date )Месяц даты (1–12).
NOWNOW()Текущие дата и время.
QUARTERQUARTER( date )Квартал даты (1–4).
SECONDSECOND( datetime )Секунды.нужно поле с временем
TODAYTODAY()Текущая дата.
WEEKWEEK( date )Номер недели.
YEARYEAR( date )Год даты.

Преобразование типов ​

Разбор с примерами — преобразование типов.

ФункцияСинтаксисЧто делаетОсобенности
BOOLBOOL( value )Преобразует значение в логическое.источник не исполняет
DATEDATE( value )Преобразует значение в дату.
DATETIMEDATETIME( value )Преобразует значение в дату и время.
DATETIME_PARSEDATETIME_PARSE( string )Разбирает строку в дату и время.источник не исполняет
DATE_PARSEDATE_PARSE( string )Разбирает строку в дату.источник не исполняет
DB_CASTDB_CAST( value, type )Приведение типа средствами СУБД.источник не исполняет
FLOATFLOAT( value )Преобразует значение в дробное число.
INTINT( value )Преобразует значение в целое число.
STRSTR( value )Преобразует значение в строку.

Что дальше ​