Справочник функций
Справочник — все функции, которые можно использовать в формуле вычисляемого поля. Как создать поле и где писать формулу — в статье «Формулы и вычисляемые поля».
- Кто может
- Администратор и сотрудники с уровнем «Полные»
- Где
- Датасет → «Данные» → «Поле» → справа вкладка «Функции»
Как пользоваться справочником
Заголовок раздела «Как пользоваться справочником»В окне вычисляемого поля справа — «Справочник функций» с поиском по имени и описанию. Нажмите на функцию — она встанет в формулу, а первый аргумент выделится: сразу впишите вместо него своё поле. Как записать функцию, видно во всплывающей подсказке.
Имена функций можно писать в любом регистре: SUM, sum и Sum — одно и то же. Поля — в квадратных скобках: SUM([Сумма]).
Агрегации
Заголовок раздела «Агрегации»Считают по многим строкам сразу: сумма, среднее, количество. Поле с такой функцией получает отметку «Есть Агрегация». Функций в группе: 21.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| SUM | SUM(expression) | Сумма значений | да |
| AVG | AVG(expression) | Среднее значение | да |
| COUNT | COUNT(*) | Количество строк | да, с полем: COUNT([Заказ]) |
| MIN | MIN(expression) | Минимальное значение | да |
| MAX | MAX(expression) | Максимальное значение | да |
| COUNTIF | countIf(condition) | Кол-во по условию | да |
| SUMIF | sumIf(expr, condition) | Сумма по условию | да |
| AVGIF | avgIf(expr, condition) | Среднее по условию | да |
| UNIQ | uniq(field) | Кол-во уникальных | да |
| MEDIAN | median(field) | Медиана | — |
| QUANTILE | quantile(0.95)(field) | Перцентиль | — |
| GROUPARRAY | groupArray(field) | Массив значений группы | — |
| ARGMAX | argMax(field, by_field) | Значение при максимуме | — |
| ARGMIN | argMin(field, by_field) | Значение при минимуме | — |
| UNIQEXACT | uniqExact(field) | Точное кол-во уникальных | да |
| TOPK | topK(10)(field) | Топ-N часто встречающихся | — |
| GROUPUNIQARRAY | groupUniqArray(field) | Массив уникальных значений | — |
| GROUPARRAYSORTEDASC | groupArraySorted(10)(field) | Отсортированный массив (топ N) | — |
| STDDEVPOP | stddevPop(field) | Стандартное отклонение | — |
| VARPOP | varPop(field) | Дисперсия | — |
| CONVERSION_RATE | CONVERSION_RATE(step_A, step_B) | Конверсия между фактами A и B | — |
Дата и время
Заголовок раздела «Дата и время»Вытаскивают из даты год, месяц, день недели, округляют до начала периода, считают разницу между датами. Функций в группе: 23.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| TODATE | toDate(datetime_field) | Преобразование в дату | да |
| TOYEAR | toYear(date_field) | Извлечение года | да |
| TOMONTH | toMonth(date_field) | Извлечение месяца (1-12) | да |
| TODAYOFWEEK | toDayOfWeek(date_field) | День недели (1=Пн, 7=Вс) | — |
| TOHOUR | toHour(datetime_field) | Извлечение часа (0-23) | — |
| TOMINUTE | toMinute(datetime_field) | Извлечение минут | — |
| TOSTARTOFMONTH | toStartOfMonth(date_field) | Начало месяца | да |
| TOSTARTOFWEEK | toStartOfWeek(date_field) | Начало недели | — |
| TOSTARTOFQUARTER | toStartOfQuarter(date_field) | Начало квартала | — |
| TOSTARTOFYEAR | toStartOfYear(date_field) | Начало года | — |
| FORMATDATETIME | formatDateTime(date, '%Y-%m-%d') | Форматирование даты | — |
| DATEDIFF | dateDiff('day', start, end) | Разница между датами | — |
| DATEADD | date_add(DAY, 30, date_field) | Прибавить период | — |
| NOW | now() | Текущая дата и время | — |
| TODAY | today() | Текущая дата | — |
| MAKEDATE | MAKEDATE(y, m, d) | Создать дату из чисел | — |
| TOSTARTOFDAY | toStartOfDay(datetime_field) | Начало дня (00:00:00) | да |
| TOSTARTOFHOUR | toStartOfHour(datetime_field) | Начало часа | — |
| TOSTARTOFFIVEMINUTES | toStartOfFiveMinutes(datetime_field) | Округление до 5 минут | — |
| TOSTARTOFFIFTEENMINUTES | toStartOfFifteenMinutes(datetime_field) | Округление до 15 минут | — |
| TOYEARWEEK | toISOYear(date) * 100 + toISOWeek(date) | Год+неделя ISO (202603) | — |
| TORELATIVEMONTHNUM | toRelativeMonthNum(date_field) | Абсолютный номер месяца | — |
| DATESUB | date_sub(DAY, 7, date_field) | Вычесть период из даты | — |
Числовые
Заголовок раздела «Числовые»Округление, модуль, деление без ошибки при нуле. Функций в группе: 12.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| ROUND | round(number, decimals) | Округление | да |
| ABS | abs(number) | Модуль числа | да |
| CEIL | ceil(number) | Округление вверх | да |
| FLOOR | floor(number) | Округление вниз | да |
| GREATEST | greatest(a, b) | Максимум из значений | — |
| LEAST | least(a, b) | Минимум из значений | — |
| INTDIV | intDiv(a, b) | Целочисленное деление | — |
| MOD | modulo(a, b) | Остаток от деления | — |
| LOG | log(number) | Натуральный логарифм | — |
| SQRT | sqrt(number) | Квадратный корень | — |
| POWER | pow(base, exponent) | Возведение в степень | — |
| DIVIDE | DIVIDE(a, b, [fallback]) | Безопасное деление (защита от /0) | да |
Строки и URL
Заголовок раздела «Строки и URL»Склейка, обрезка, замена текста, разбор ссылок. Функций в группе: 22.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| CONCAT | concat(str1, ' ', str2) | Объединение строк | да |
| LOWER | lower(str) | Нижний регистр | да |
| UPPER | upper(str) | Верхний регистр | да |
| LENGTH | length(str) | Длина строки | да |
| TRIM | trim(str) | Убрать пробелы по краям | да |
| SUBSTRING | substring(str, pos, len) | Подстрока | — |
| REPLACE | replaceAll(str, 'from', 'to') | Замена подстроки | — |
| LEFT | left(str, n) | Первые N символов | да |
| RIGHT | right(str, n) | Последние N символов | да |
| SPLITBYCHAR | splitByChar(',', str) | Разбить по символу | — |
| MATCH | match(field, 'regex') | Поиск по regex (0/1) | — |
| EXTRACT | extract(field, 'regex') | Извлечь по regex | — |
| REVERSE | reverse(str) | Развернуть строку | — |
| SPLIT | SPLIT(str, 'delimiter', n) | Разбить строку и взять N-й элемент | — |
| DOMAIN | domain('https://example.com/path') | Извлечь домен из URL | — |
| PATH | path('https://example.com/path') | Извлечь путь из URL | — |
| PROTOCOL | protocol('https://example.com') | Извлечь протокол (https) | — |
| EXTRACTURLPARAM | extractURLParameter(url, 'utm_source') | Извлечь GET-параметр из URL | — |
| LEFTPAD | leftPad(str, 10, '0') | Дополнить слева (000123) | — |
| RIGHTPAD | rightPad(str, 10, ' ') | Дополнить справа | — |
| POSITIONUTF8 | positionUTF8(haystack, 'needle') | Позиция подстроки (UTF-8) | — |
| REGEXPREPLACE | replaceRegexpAll(str, '\\d+', 'X') | Замена по regex | — |
Логические
Заголовок раздела «Логические»Условия «если — то» и замена пустых значений. Функций в группе: 8.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| CASE | CASE WHEN cond THEN val ELSE val END | Условная логика | да |
| IF | if(condition, then_val, else_val) | Короткое условие | да |
| MULTIIF | multiIf(c1,v1, c2,v2, default) | Множественное условие | — |
| COALESCE | coalesce(val1, val2) | Первое не NULL | да |
| ZN | ZN(expression) | NULL → 0 (DataLens) | да |
| IFNULL | ifNull(value, default) | NULL → замена | да |
| ISNULL | isNull(value) | Проверка на NULL (0/1) | — |
| NULLIF | nullIf(a, b) | Если a=b → NULL | да |
Группа «datalens»
Заголовок раздела «Группа «datalens»»В справочнике эта группа подписана служебным словом «datalens». В ней короткие функции для текста и дат. Функций в группе: 7.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| CONTAINS | CONTAINS(field, value) | Содержит подстроку (DataLens) | да |
| STARTSWITH | STARTSWITH(field, value) | Начинается с (DataLens) | да |
| ENDSWITH | ENDSWITH(field, value) | Заканчивается на (DataLens) | да |
| LEN | LEN(field) | Длина строки (DataLens) | да |
| COUNTD | COUNTD(field) | Уникальные (DataLens) | да |
| DATETRUNC | DATETRUNC(date, 'month') | Округление даты (DataLens) | да |
| DATEPART | DATEPART(date, 'year') | Часть даты (DataLens) | — |
Типы, JSON, хеш
Заголовок раздела «Типы, JSON, хеш»Превращают текст в число или дату, достают значения из JSON. Функций в группе: 17.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| TOSTRING | toString(value) | Приведение к строке | да |
| TOINT | toInt64(value) | Приведение к целому | — |
| TOFLOAT | toFloat64(value) | Приведение к дробному | — |
| TODATETIME | toDateTime(value) | Приведение к дате-времени | — |
| PARSEDATETIME | parseDateTimeBestEffort('строка') | Умный парсинг даты из строки | — |
| TRY_TO_INT | TRY_TO_INT(str) | Безопасное приведение к целому (без падений) | — |
| TRY_TO_FLOAT | TRY_TO_FLOAT(str) | Безопасное приведение к дробному | — |
| TRY_TO_DATE | TRY_TO_DATE(str) | Умный парсинг даты без падений при ошибках | — |
| MD5 | MD5('string') | MD5 хеш | — |
| CITYHASH64 | cityHash64(value) | Быстрый хеш (CityHash) | — |
| SIPHHASH64 | sipHash64(value) | SipHash хеш | — |
| JSONEXTRACTSTRING | JSONExtractString(json_col, 'key') | Извлечь строку из JSON | — |
| JSONEXTRACTINT | JSONExtractInt(json_col, 'key') | Извлечь число из JSON | — |
| JSONEXTRACTFLOAT | JSONExtractFloat(json_col, 'key') | Извлечь дробное из JSON | — |
| JSONHAS | JSONHas(json_col, 'key') | Проверить наличие ключа в JSON | — |
| BASE64ENCODE | base64Encode(str) | Кодировать в Base64 | — |
| BASE64DECODE | base64Decode(str) | Декодировать из Base64 | — |
Шаблоны ссылок
Заголовок раздела «Шаблоны ссылок»Группа «Шаблоны» в справочнике — это функции для кликабельных ссылок. Не путайте с вкладкой «Шаблоны» рядом, где готовые формулы. Функций в группе: 3.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| LINK (Простая) | concat('<a href="', url_field, '" target="_blank">', url_field, '</a>') | Кликабельная ссылка | да |
| LINK (Составная) | concat('<a href="', url_field, '" target="_blank">', text_field, '</a>') | Ссылка + текст из разных полей | да |
| LINK (Домен) | concat('<a href="https://domain.com/', id_field, '" target="_blank">', text_field, '</a>') | Базовый домен + ID поля | да |
Массивы
Заголовок раздела «Массивы»Для полей со списком значений. Функций в группе: 5.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| HAS | has(array_field, 'value') | Проверить наличие элемента в массиве | — |
| ARRAYJOIN | arrayJoin(array_field) | Развернуть массив в строки | — |
| ARRAYLENGTH | length(array_field) | Кол-во элементов массива | — |
| ARRAYEXISTS | arrayExists(x -> x = 'val', arr) | Поиск в массиве по условию | — |
| ARRAYSTRINGCONCAT | arrayStringConcat(array_field, ', ') | Массив → строка через разделитель | — |
Оконные
Заголовок раздела «Оконные»Считают по соседним строкам: номер по порядку, предыдущее значение, накопительный итог. Функций в группе: 6.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| ROW_NUMBER | row_number() OVER (ORDER BY field) | Порядковый номер строки | — |
| RANK | rank() OVER (PARTITION BY grp ORDER BY val) | Рейтинг (с пропусками) | — |
| LAG | lagInFrame(field, 1) OVER (ORDER BY date) | Предыдущее значение | — |
| LEAD | leadInFrame(field, 1) OVER (ORDER BY date) | Следующее значение | — |
| RUNNING_SUM | RUNNING_SUM(measure) | Накопительный итог (Оконная) | — |
| RUNNING_AVG | RUNNING_AVG(measure) | Скользящее среднее (Оконная) | — |
Форматирование
Заголовок раздела «Форматирование»Текстовые мини-графики и сокращение больших чисел. Функций в группе: 2.
| Функция | Как записать | Что делает | Excel, Google |
|---|---|---|---|
| BAR | bar(value, min, max, width) | Текстовый мини-график ████ | — |
| FORMATREADABLE | formatReadableQuantity(12345) | Число → 12.35 тыс. | — |
Шаблоны формул
Заголовок раздела «Шаблоны формул»На соседней вкладке «Шаблоны» — готовые формулы. Нажмите на шаблон — формула встанет в поле целиком. Слова на русском в ней — статус, сумма, дата — замените своими полями: пока они не заменены, под формулой будет предупреждение «Неизвестные поля».
| Группа | Шаблон | Формула | Что считает |
|---|---|---|---|
| Конверсия | Конверсия % | Round(countIf(статус = 'успех') * 100.0 / Count(id), 2) | Процент успешных из общего количества |
| Конверсия | Воронка конверсии | If(Count(этап_A) > 0, Round(Count(этап_B) * 100.0 / Count(этап_A), 1), 0) | Этап A → Этап B (с защитой от деления на 0) |
| Конверсия | Конверсия да/нет | Round(Sum(is_success) * 100.0 / Count(id), 2) | Поле 0/1 → процент «Да» |
| Доли и проценты | Накопительный итог | Sum(сумма) OVER (ORDER BY дата ROWS UNBOUNDED PRECEDING) | Running total — сумма нарастающим итогом |
| Доли и проценты | Доля в группе | Round(Sum(значение) * 100.0 / sumIf(значение, группа = группа), 2) | Процент внутри группы (менеджера, региона) |
| Сравнение | Дельта (прирост) | Sum(текущий) - Sum(предыдущий) | Разница текущего и предыдущего периода |
| Сравнение | Рост в % | If(Sum(базовый) > 0, Round((Sum(текущий) - Sum(базовый)) * 100.0 / Sum(базовый), 1), 0) | Процент прироста к базовому значению |
| Сравнение | Мин / Макс / Среднее | Concat('Мин: ', toString(Min(значение)), ' / Макс: ', toString(Max(значение)), ' / Ср: ', toString(Round(Avg(значение), 1))) | Статистические функции поля |
| Группировка | Год–Месяц | formatDateTime(дата, '%Y-%m') | Группировка по Год-Месяц (2026-03) |
| Группировка | День недели | Case When toDayOfWeek(дата) = 1 Then 'Пн' When toDayOfWeek(дата) = 2 Then 'Вт' When toDayOfWeek(дата) = 3 Then 'Ср' When toDayOfWeek(дата) = 4 Then 'Чт' When toDayOfWeek(дата) = 5 Then 'Пт' When toDayOfWeek(дата) = 6 Then 'Сб' Else 'Вс' End | Пн, Вт, Ср… по дате |
| Группировка | Квартал | Concat('Q', toString(toQuarter(дата))) | Q1, Q2, Q3, Q4 |
| Группировка | Час дня | toHour(дата) | Группировка по часам (0–23) |
| Дата и период | Давность (дни) | dateDiff('day', дата, today()) | Сколько дней прошло от даты до сегодня |
| Дата и период | Длительность (минуты) | Round(длительность / 60, 1) | Перевод секунд в минуты |
| Дата и период | Возраст (лет) | dateDiff('year', дата_рождения, today()) | Расчёт возраста на текущую дату |
| Маркеры и метки | Светофор | Case When значение >= 80 Then '🟢 Хорошо' When значение >= 50 Then '🟡 Средне' Else '🔴 Плохо' End | Красный / Жёлтый / Зелёный по порогам |
| Маркеры и метки | Бинарная метка | If(условие > 0, 'Да', 'Нет') | Да/Нет по условию |
| Маркеры и метки | Градация размера | Case When сумма >= 100000 Then 'Крупный' When сумма >= 10000 Then 'Средний' Else 'Малый' End | Малый / Средний / Крупный по значению |
| Маркеры и метки | Группа клиентов | Case When Sum(сумма) >= 500000 Then 'A — VIP' When Sum(сумма) >= 100000 Then 'B — Активные' Else 'C — Новые' End | A/B/C сегментация по сумме |
| Агрегации | Среднее без нулей | avgIf(значение, значение > 0) | AVG по ненулевым значениям |
| Агрегации | Кол-во уникальных | uniqExact(поле) | Число уникальных значений |
| Агрегации | Сумма по условию | sumIf(сумма, статус = 'оплачен') | SUM только для нужных строк |
| Агрегации | Медиана | median(значение) | 50-й перцентиль (середина распределения) |
| Статистика | Средний чек | If(Count(id) > 0, Round(Sum(сумма) / Count(id), 0), 0) | Общая сумма / кол-во сделок |
| Статистика | LTV (пожизненная ценность) | Round(Avg(сумма_покупки) * Avg(кол_во_покупок), 0) | Средняя сумма × среднее кол-во покупок |
| Статистика | Бар-индикатор | bar(значение, 0, 100, 20) | Текстовая полоска прогресса |
Для Excel и Google Таблиц подходят шаблоны на If, Round, countIf, sumIf, avgIf, Sum, Count, Avg, Case и uniqExact. Шаблоны с formatDateTime, toDayOfWeek, toQuarter, toHour, dateDiff, today, median, bar и OVER — только для баз данных.