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

Список выражений

Для ознакомления с выражениями см. [обзор пользовательских выражений][expressions].

Агрегации

Выражения агрегации учитывают все значения в поле. Их можно использовать только в блоке Суммировать конструктора запросов.

Average

Возвращает среднее значение в столбце.

Синтаксис: Average(столбец)

Пример: Average([Количество])

возвращает среднее значение для поля Количество.

Count

Возвращает количество строк (также называемых "записями") в выбранных данных.

Синтаксис: Count()

Пример: Count()

если таблица или результат возвращает 10 строк, Count вернёт 10.

CountIf

Подсчитываются только строки, где условие истинно.

Синтаксис: CountIf(условие)

Пример: CountIf([Промежуточный итог] > 100)

вернёт количество строк, в которых промежуточный итог превышает 100.

Distinct

Количество уникальных значений в столбце.

Синтаксис: Distinct(столбец)

Пример: Distinct([Фамилия])

возвращает количество уникальных фамилий в столбце. Дубликаты (например, повторяющиеся фамилии «Иванов») не учитываются.

DistinctIf

Возвращает количество уникальных значений в столбце, где условие истинно.

Синтаксис: DistinctIf(столбец, условие)

Пример: DistinctIf([ID], [Категория] = "Gizmo") вернёт количество уникальных ID, где столбец Категория равен "Gizmo".

Max

Возвращает наибольшее значение, найденное в столбце.

Синтаксис: Max(столбец)

Пример: Max([Возраст])

вернёт максимальный возраст, найденный среди всех значений в столбце Возраст.

Связано: min, average, median.

Median

Возвращает медианное значение указанного столбца.

Синтаксис: Median(столбец)

Пример: Median([Возраст])

найдёт срединный возраст, при котором половина возрастов старше, а половина возрастов моложе.

Ограничения: не поддерживается Druid, H2 (Sample Database), MariaDB, MongoDB, MySQL, SQLite, Vertica, SQL Server. Presto предоставляет только приблизительные результаты.

Связано: min, max, average.

Min

Возвращает наименьшее значение, найденное в столбце.

Синтаксис: Min(столбец)

Пример: Min([Зарплата])

вернёт самую низкую зарплату в столбце «Зарплата».

Связано: max, median, average.

Percentile

Возвращает значение столбца в процентиле.

Синтаксис: Percentile(столбец, значение-процентиля)

Пример: Percentile([Оценка], 0.9)

может вернуть значение 90-го процентиля для всех значений в этом столбце.

Ограничения: не поддерживается Druid, H2 (Sample Database), MariaDB, MySQL, MongoDB, SQL Server, SQLite, Vertica. Presto предоставляет только приблизительные результаты.

Share

Возвращает процент строк в наборе данных, соответствующих условию, в виде десятичного числа.

Синтаксис: Share(условие)

Пример: Share([Цвет] = "Синий")

вернёт количество строк с полем Цвет, установленным в Синий, делённое на общее количество строк.

StandardDeviation

Вычисляет стандартное отклонение столбца, которое является мерой вариации в наборе значений. Низкое стандартное отклонение означает, что значения группируются вокруг среднего значения, тогда как высокое стандартное отклонение означает, что значения разбросаны в широком диапазоне.

Синтаксис: StandardDeviation(столбец)

Пример: StandardDeviation([Население])

вернёт стандартное отклонение значений в столбце «Население».

Ограничения: не поддерживается: Druid, SQLite.

Sum

Суммирует все значения столбца.

Синтаксис: Sum(столбец)

Пример: Sum([Промежуточный итог])

суммирует все значения в столбце «Промежуточный итог».

SumIf

Суммирует указанный столбец только для строк, где условие истинно.

Синтаксис: SumIf(столбец, условие)

Пример:SumIf([Промежуточный итог], [Статус заказа] = "Действительный")

суммирует все промежуточные итоги для заказов в статусе «Действительный».

Variance

Возвращает числовую дисперсию для данного столбца.

Синтаксис: Variance(столбец)

Пример: Variance([Температура])

вернёт дисперсию средней температуры для всех значений в этом столбце.

Ограничения: не поддерживается: Druid, SQLite.

Связано: standarddeviation, average.

Функции

Функции применяются к каждому отдельному значению. Их можно использовать для изменения или фильтрации значений в столбце или для создания новых пользовательских столбцов.

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

between

Проверяет значения в столбце с датами или числами, чтобы убедиться, что они находятся в пределах указанного диапазона. Возвращает true, если значение попадает в указанный диапазон, иначе false.

Синтаксис: between(столбец, начало, конец)

Пример: between([Создан], "2024-01-01", "2024-12-31")

вернёт строки, в которых дата Создан попадает в диапазон от 1 января 2024 г. до 31 декабря 2024 г.

Связано: interval.

case

case проверяет выражение по списку вариантов и возвращает соответствующее значение первого совпадающего случая с необязательным значением по умолчанию, если ничего другого не встречается.

Синтаксис: case(условие, вывод, …)

Пример: case([Вес] > 200, "Большой", [Вес] > 150, "Средний", "Низкий")

Если вес равен 250, выражение вернёт значение Большой. Значением по умолчанию является Низкий, поэтому любое значение до 150 включительно вернёт Низкий.

coalesce

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

Синтаксис: coalesce(значение1, значение2, …)

Пример: coalesce([Комментарии], [Примечания], "Нет комментариев")

Если оба столбца: Комментарии и Примечания для этой строки пусты, выражение вернёт строку "Нет комментариев".

if

if — это псевдоним для case. Проверяет выражение по списку условий и возвращает соответствующее значение первого совпадающего условия, с необязательным значением по умолчанию, если ничего не подошло.

Синтаксис: if(условие, вывод, ...)

Пример: if([Вес] > 200, "Большой", [Вес] > 150, "Средний", "Низкий")

Если вес равен 250, выражение вернёт значение Большой. Значением по умолчанию является Низкий, поэтому любое значение 150 или меньше вернёт Низкий.

in

Возвращает true, если значение1 равно значение2 (или значение3 и т.д., если они указаны).

Синтаксис: in(значение1, значение2, ...)

  • значение1: столбец или значение, которое нужно проверить;
  • значение2, ...: список столбцов или значений, с которыми нужно сравнить.

Можно добавить больше значений для сравнения.

Пример: in([Категория], "Widget", "Gadget") вернёт true для строк, где Категория равна "Widget" или "Gadget".

Связано: notIn, contains, startsWith, endsWith.

isNull

Возвращает true, если столбец пуст.

Синтаксис: isNull(столбец)

Пример: isNull([Налог])

вернёт true, если в столбце Налог для этой строки не будет значения.

Связано: notNull, isEmpty.

notIn

Возвращает true, если значение1 не равно значение2значение3 и т.д., если они указаны).

Синтаксис: notIn(значение1, значение2, ...)

  • значение1: столбец или значение, которое нужно проверить;
  • значение2, ...: столбцы или значения, которые нужно найти.

Можно добавить больше значений для сравнения.

Пример: notIn([Категория], "Widget", "Gadget") вернёт true для строк, где Категория не равна "Widget" и не равна "Gadget".

Связано: in, case.

notNull

Возвращает true, если столбец содержит значение.

Синтаксис: notNull(столбец)

Пример: notNull([Налог])

вернёт true, если в столбце Налог для этой строки задано значение.

Связано: isNull, notEmpty.

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

Популярные математические операции общего назначения.

abs

Возвращает абсолютное (положительное) значение указанного столбца.

Синтаксис: abs(столбец)

Пример: abs([Задолженность])

Если Задолженность была -100, abs(-100) вернёт 100.

ceil

Округляет десятичную дробь вверх.

Синтаксис: ceil(столбец)

Пример: ceil([Цена])

ceil(2.99) вернёт 3.

Связано: floor, round.

exp

Возвращает число Эйлера (wiki), e, возведённое в указанную степень. Число e приблизительно равно 2,71828182845904 и является основанием натурального логарифма.

Синтаксис: exp(столбец)

Пример: exp([Значение])

Ограничения: не поддерживается Druid, MongoDB, SQLite.

Связано: power.

floor

Округляет десятичное число вниз.

Синтаксис: floor(столбец)

Пример: floor([Цена])

Если Цена равна 1.99, выражение вернёт 1.

Связано: ceil, round.

log

Возвращает десятичный логарифм числа.

Синтаксис: log(столбец)

Пример: log([Значение]).

Ограничения: не поддерживается Druid, MongoDB, SQLite.

power

Возводит число в степень, указанную в показателе степени.

Синтаксис: power(число, степень)

Пример: power([Длина], 2)

Если 'Длина = 3', вернёт 9 (3 во второй степени, 3 × 3).

Ограничения: не поддерживается Druid, MongoDB, SQLite.

Связано: exp.

round

Округляет десятичное число вверх или вниз до ближайшего целого числа.

Синтаксис: round(столбец)

Пример 1: round([Температура])

Если Температура = 13.5, выражение вернёт «14».

Пример 2: round([Температура] * 10) / 10

Если Температура = 100.75, выражение вернёт 100.8.

sqrt

Возвращает квадратный корень значения.

Синтаксис: sqrt(столбец)

Пример: sqrt([Гипотенуза])

Связано: power.

Ограничения: не поддерживается Druid, MongoDB, SQLite.

Функции для работы со строками

Проверки и изменения строковых значений.

concat

Сцепляет две или более строки в одну.

Синтаксис: concat(строка1, строка2, …)

Пример: concat([Фамилия], ", ", [Имя])

создаст строку формата «Фамилия, Имя», например: "Иванов, Максим".

contains

Проверяет, содержит ли строка1 подстроку строка2.

Синтаксис:

  • contains(строка1, строка2) — учитывать регистр;
  • contains(строка1, строка2, "case-insensitive") — не учитывать регистр.

Пример: contains([Гриф], "Сек").

Если Гриф = "Секретно", выражение вернёт true. Если Гриф = "секретно", выражение вернёт false, потому что регистр учитывается, совпадения нет.

Связано: doesNotContain, regexExtract.

date

  • При использовании со строкой функция преобразует строку с датой в формате ISO 8601 в значение даты. Строка обязательно должна быть в корректном формате ISO 8601. Если строка содержит время, часть со временем будет отброшена.
  • При использовании со значением datetime функция усекает datetime до даты.

Синтаксис: date(значение)

Пример: date("2025-03-20") вернёт значение даты, чтобы вы могли использовать возможности конструктора запросов для дат: группировать по месяцам, фильтровать по «последним 30 дням» и т. п.

Стандартный формат ISO 8601:

  • Год (YYYY): 2025
  • Месяц (MM): 03
  • День (DD): 25
  • Разделитель времени (T)
  • Часы (HH): 14
  • Минуты (MM): 30
  • Секунды (SS): 45
  • Индикатор часового пояса UTC (Z)

Примеры корректных значений ISO 8601:

  • Только дата: 2025-03-25
  • Дата со временем: 2025-03-25T14:30:45
  • Дата со временем и смещением часового пояса: 2025-03-25T14:30:45+01:00

Ещё один пример: date("2025-04-19T17:42:53+01:00") вернёт 2025-04-19.

Ограничения: недоступно для Oracle и не‑JDBC драйвера Apache Druid.

Связано: datetime

datetime

Преобразует строку/байты со значением даты и времени в datetime.

Синтаксис: datetime(значение, режим)

  • значение: строка, байты или число, которое нужно преобразовать в datetime.
  • режим: задаёт формат (опционально). Один из: "simple", "iso", "simpleBytes", "isoBytes", "unixSeconds", "unixMilliseconds", "unixMicroseconds", "unixNanoseconds". По умолчанию — "iso".

Пример: datetime("2025-03-20 12:45:04")

datetime поддерживает такие форматы строк:

2025-05-15T22:20:01
2025-05-15 22:20:01

Некоторые базы данных могут работать и с другими форматами.

Ограничения: доступно только для PostgreSQL, MySQL/MariaDB, BigQuery, Redshift, ClickHouse и Snowflake.

Связано: date

doesNotContain

Проверяет, что строка1 не содержит подстроку строка2.

Синтаксис:

  • doesNotContain(строка1, строка2) — учитывать регистр;
  • doesNotContain(строка1, строка2, "case-insensitive") — не учитывать регистр.

Пример: doesNotContain([Гриф], "Сек").

Если Гриф = "Секретно", выражение вернёт false (подстрока содержится). Если Гриф = "секретно", выражение вернёт true (подстрока не содержится), потому что регистр учитывается, совпадения нет.

Связано: contains, regexExtract.

domain

Извлекает имя домена из URL или email.

Синтаксис: domain(URL-или-email)

Пример: domain([URL страницы])

Если столбец URL страницы содержит https://glarus-bi.ru, функция вернёт значение glarus-bi.

Если столбец содержит support@glarus-bi.ru, функция вернёт glarus-bi.

Связано: host, path, subdomain.

endsWith

Возвращает true, если строка заканчивается подстрокой.

Синтаксис:

  • endsWith(строка, подстрока) — учитывать регистр;
  • endsWith(строка, подстрока, "case-insensitive") — не учитывать регистр.

Пример: endsWith([Гриф], "ретно")

Если Гриф = "Секретно", выражение вернёт true.

Связано: startswith, contains, doesNotContain.

float

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

Синтаксис: float(значение)

Ограничения: доступно только для PostgreSQL, MySQL/MariaDB, BigQuery, Redshift, ClickHouse и Snowflake.

Пример: float("123.45") вернёт 123.45 как значение с плавающей запятой.

host

Извлекает хост (домен с доменом верхнего уровня) из URL или email.

Синтаксис: host(URL-или-email)

Пример: host([Page URL])

Если столбец Page URL содержит https://glarus-bi.ru, функция вернёт значение glarus-bi.ru.

Если столбец содержит support@glarus-bi.ru, функция вернёт glarus-bi.ru.

Связано: domain, path, subdomain.

integer

  • Преобразует строку в целое число. Полезно, если вы хотите выполнять вычисления с числами, но данные хранятся как строки.

  • Преобразует число с плавающей запятой в целое, округляя его.

Синтаксис: integer(значение)

Пример со строкой: integer("123") вернёт 123 как целое число. Строка должна соответствовать целому числу (поэтому integer("123.45") вернёт ошибку).

Пример с числом: integer(123.45) вернёт 123.

Ограничения: доступно только для BigQuery, ClickHouse, MySQL, PostgreSQL, Amazon Redshift и Snowflake.

Связано: round.

isEmpty

Возвращает true, если строковый столбец содержит пустую строку или null. Вызов этой функции для нестрокового столбца приведёт к ошибке. Для нестроковых столбцов используйте isNull.

Синтаксис: isEmpty(столбец)

Пример: isEmpty([Отзыв])

вернёт true, если в поле "Отзыв" не будет значения или будет пустая строка ('').

Связано: notEmpty, isNull.

length

Возвращает количество символов в тексте.

Синтаксис: length(текст)

Пример: length([Комментарий])

Если КомментарийДоговорились, функция вернёт 12 (в слове "Договорились" двенадцать символов).

lower

Возвращает строку текста в нижнем регистре.

Синтаксис: lower(текст)

Пример: lower([Статус])

Если СтатусУСПЕХ, функция вернёт успех в нижнем регистре.

Связано: upper.

lTrim

Удаляет начальные пробелы из строки текста.

Синтаксис: lTrim(текст)

Пример: lTrim([Комментарий])

Если Комментарий — «   Требует обсуждения», ltrim вернёт Требует обсуждения (без пробелов вначале).

Связано: trim и rTrim.

notEmpty

Возвращает true, если строковый столбец содержит значение, которое не является пустой строкой. Вызов этой функции для нестрокового столбца приведёт к ошибке. Для нестроковых столбцов используйте notNull.

Синтаксис: notEmpty(столбец)

Пример: notEmpty([Отзыв]) вернёт true, если Отзыв содержит значение, которое не является пустой строкой ('').

Связано: isEmpty, isNull, notNull.

path

Извлекает путь (pathname) из URL.

Синтаксис: path(url)

Пример: path([URL страницы]). Например, path("https://www.example.com/path/to/page.html?key1=value") вернёт /path/to/page.html.

Связано: domain, host, subdomain.

regexExtract

Извлекает совпадающие подстроки в соответствии с регулярным выражением.

Синтаксис: regexExtract(текст, регулярное_выражение)

Пример: regexExtract([Адрес], "[0-9]+")

Ограничения: не поддерживается H2 (Sample Database), MongoDB, SQL Server, SQLite. Для поддержки в Druid нужно использовать драйвер Druid-JDBC.

Связано: contains, doesNotContain, substring.

replace

Заменяет все найденные части введённого текста новым текстом.

Синтаксис: replace(текст, найти, заменить)

Пример: replace([Характеристика], "Громадный", "Гигантский")

rTrim

Удаляет конечный пробел из строки текста.

Синтаксис: rTrim(текст)

Пример: rTrim([Комментарий])

Если КомментарийЛучшая покупка в этом месяце, функция возвратит Лучшая покупка в этом месяце, без пробелов в конце строки.

Связано: trim и lTrim.

splitPart

Разбивает строку по указанному разделителю и возвращает n-ю подстроку.

Синтаксис: splitPart(текст, разделитель, позиция)

текст: столбец или текст, часть которого нужно вернуть.

разделитель: шаблон, который описывает, где делать разделение.

позиция: какую подстроку вернуть после разделения. Индекс начинается с 1.

Пример: splitPart([Строка с датой], " ", 1). Если значение Строка с датой равно "2024-09-18 16:55:15.373733-07", splitPart вернёт "2024-09-18", потому что разбила строку по пробелу (" ") и взяла первую часть.

Ещё один пример: splitPart("Имя, Отчество, Фамилия", ", ", 3) вернёт "Фамилия" (потому что мы использовали ", " как разделитель и взяли третью подстроку).

Ограничения: доступна только в PostgreSQL, MySQL/MariaDB, BigQuery, Redshift, ClickHouse и Snowflake.

startsWith

Возвращает true, если строка начинается с подстроки.

Синтаксис:

  • startsWith(строка, подстрока) — учитывать регистр;
  • startsWith(строка, подстрока, "case-insensitive") — не учитывать регистр.

Пример: startsWith([Название курса], "Основы")

вернёт true для названий курсов, начинающихся с Основы, например «Основы теории надёжности».

Связано: endsWith, contains, doesNotContain.

subdomain

Извлекает поддомен из URL. Игнорирует www (возвращает пустую строку).

Синтаксис: subdomain(url)

Пример: subdomain([URL страницы])

Если столбец URL страницы содержит https://example.glarus-bi.ru, функция вернёт значение example.

Связано: domain, host, path.

substring

Возвращает часть предоставленного текста, заданную начальной позицией и длиной.

Синтаксис: substring(текст, начальная-позиция, длина)

Пример: substring([Название], 1, 10)

возвращает первые 10 букв строки (индекс строки начинается с позиции 1).

Связано: regexExtract, replace.

text

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

Синтаксис: text(значение)

Пример: text([Created At]) возьмёт значение datetime (Created At) и вернёт это значение, преобразованное в строку (например "2024-03-17 16:55:15.373733-07").

Ограничения: недоступно для не‑JDBC драйвера Druid.

trim

Удаляет начальные и конечные пробелы из строки текста.

Синтаксис: trim(текст)

Пример: trim([Комментарий])

удалит любые пробелы по обе стороны комментария.

upper

Возвращает текст в верхнем регистре.

Синтаксис: upper(текст)

Пример:

upper([Статус])

Если Статусотправлен, функция вернёт "ОТПРАВЛЕН".

Связано: lower.

Функции для работы с датами

Управление, извлечение и создание значений, содержащих дату и время.

convertTimezone

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

Синтаксис: convertTimezone(столбец, цель, источник)

Пример: convertTimezone("2024-12-28T12:00:00", "Canada/Pacific", "Canada/Eastern")

вернёт значение 2024-12-28T09:00:00, отображаемое как 28 декабря, 2024, 9:00 AM.

Ограничения: не поддерживается Amazon Athena, Databricks, Druid, H2 (Sample Database), MongoDB, Presto, SparkSQL, SQLite.

datetimeAdd

Добавляет некоторую единицу времени к значению даты или метки времени.

Синтаксис: datetimeAdd(столбец, значение, единица)

Пример: datetimeAdd("2025-03-25", 1, "month")

вернёт значение 2025-04-25, отображаемое как 25 апреля 2025 года.

значение должно быть целым числом, а не дробным. Например, вы не можете добавить "полгода" (0.5).

Связано: between, datetimeSubtract.

datetimeDiff

Возвращает разницу между двумя значениями даты и времени в заданных единицах времени. Например, datetimeDiff(d1, d2, "day") вернёт количество дней между d1 и d2.

Синтаксис: datetimeDiff(дата-время1, дата-время2, единица)

Пример: datetimeDiff("2025-02-01", "2025-03-01", "month")

вернёт 1.

Ограничения: не поддерживается Druid.

datetimeSubtract

Вычитает некоторую единицу времени из значения даты или метки времени.

Синтаксис: datetimeSubtract(столбец, значение, единица)

Значение должно быть целым числом, не числом с плавающей точкой. Вы не можете вычесть "полгода" (0.5).

Пример: datetimeSubtract("2025-03-25", 1, "month")

вернёт значение 2025-02-25, отображаемое как 25 февраля 2025 года.

Связано: between, datetimeadd.

day

Принимает дату и время и возвращает день месяца в виде целого числа.

Синтаксис: day([столбец-с-датой-и-временем])

Пример: day("2025-03-25T12:52:37")

вернёт день как целое число 25.

dayName

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

Синтаксис: dayName(номер-дня)

Пример: dayName(1)

вернёт Понедельник, при условии что в системе задана настройка, начинающая неделю с понедельника.

Связано: quarterName, monthName.

hour

Принимает дату и время и возвращает час в виде целого числа (0–23).

Синтаксис: hour([столбец-с-датой-и-временем])

Пример: hour("2025-03-25T12:52:37") вернёт 12.

interval

Проверяет значения столбца даты, чтобы определить, попадают ли они в относительный диапазон.

Синтаксис: interval(столбец, число, текст)

Число должно быть целым, числа с плавающей точкой недопустимы.

Пример: interval([Created At], -1, "month").

Связано: between.

minute

Принимает дату и время и возвращает минуты в виде целого числа (0–59).

Синтаксис: minute([столбец-с-датой-и-временем])

Пример: minute("2025-03-25T12:52:37") вернёт 52.

month

Принимает дату и время и возвращает номер месяца (1–12) в виде целого числа.

Синтаксис: month([столбец-с-датой-и-временем])

Пример: month("2025-03-25T12:52:37") вернёт месяц как целое число, 3.

monthName

Возвращает сокращённое название месяца в вашей локализации в ответ на переданный номер месяца.

Синтаксис: monthName(номер-месяца)

Пример: monthName(10)

вернёт Окт (октябрь).

Связано: dayName, quarterName.

now

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

Синтаксис: now()

quarter

Принимает дату и время и возвращает номер квартала в году (1–4) в виде целого числа.

Синтаксис: quarter([столбец-с-датой-и-временем])

Пример: quarter("2025-03-25T12:52:37") вернёт 1 (первый квартал).

quarterName

Принимает номер квартала (1–4), возвращает строку названия квартала, например, 'Q1'.

Синтаксис: quarterName(номер-квартала)

Пример: quarterName(3)

вернёт Q3 (третий квартал).

Связано: dayName, monthName.

relativeDateTime

Получает значение даты и времени относительно текущего времени.

Синтаксис: relativeDateTime(значение, единица)

  • значение — смещение интервала, целое число (числа с плавающей точкой недопустимы), отрицательное значение возвращает в прошлое;
  • единица — тип интервала: "day" (день), "month" (месяц), "year" (год).

Обратите внимание: relativeDateTime() обрежет результат до единицы времени, указанной во втором аргументе.

Пример: [Заказы → Создан] < relativeDateTime(-30, "day")

выполнит фильтрацию заказов, созданных более 30 дней назад с текущего момента.

Связано: datetimeAdd, datetimeSubtract.

second

Принимает дату и время и возвращает число секунд зафиксированной минуты (0–59) в виде целого числа.

Синтаксис: second([столбец-с-датой-и-временем])

Пример: second("2025-03-25T12:52:10")

вернёт целое число 10.

timeSpan

Возвращает требуемый интервал заданной длительности для операций с датой и временем.

Синтаксис: timeSpan(значение, единица)

  • значение — длительность интервала, целое число (числа с плавающей точкой недопустимы), отрицательное значение возвращает в прошлое;
  • единица — тип интервала: "day" (день), "month" (месяц), "year" (год).

Пример: [Заказы → Создан] + timeSpan(7, "day")

вернёт дату на 7 дней позже даты создания заказа.

today

Возвращает текущую дату (без времени).

Синтаксис: today()

Пример: today() вернёт текущую дату, например 2026-05-04.

Связано: now.

week

Принимает дату и время и возвращает номер недели в виде целого числа.

Синтаксис: week(столбец, режим)

Пример: week("2026-03-25T12:52:37")

вернёт номер недели в виде целого числа, 12.

  • столбец — название столбца, где хранятся значения с датой или датой и временем;
  • режим — необязательный параметр, возможны значения:
    • ISO (по умолчанию) — первая неделя начинается в понедельник перед первым четвергом января;
    • US — первая неделя начинается первого января. Все остальные недели начинаются в воскресенье.
    • Instance — первая неделя начинается первого января. Все остальные недели начинаются в день, указанный в настройках локализации вашей Glarus BI.

Обратите внимание: группировка по неделе года в конструкторе запросов использует другой режим определения первой недели. Подробнее см. "Неделя года".

weekday

Принимает дату и время и возвращает номер дня недели в виде целого числа (1–7).

Синтаксис: weekday([столбец-c-датой-и-временем])

Пример:

case(
  weekday([Created At]) = 1, "Понедельник",
  weekday([Created At]) = 2, "Вторник",
  weekday([Created At]) = 3, "Среда",
  weekday([Created At]) = 4, "Четверг",
  weekday([Created At]) = 5, "Пятница",
  weekday([Created At]) = 6, "Суббота",
  weekday([Created At]) = 7, "Воскресенье")

year

Принимает дату и время и возвращает год как целое число.

Синтаксис: year([столбец-с-датой-и-временем])

Пример: year("2025-03-25T12:52:37")

вернёт 2025 год как целое число, 2,025 (здесь запятая — как разделитель разрядов целого числа).

Функции преобразования типов

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

Оконные функции можно использовать только в блоке Суммировать конструктора запросов. Их нельзя использовать для создания пользовательского столбца или пользовательского фильтра.

CumulativeCount

Подробнее см. страницу про накопительные функции.

Счёт строк в диапазоне с накоплением.

Синтаксис: CumulativeCount()

CumulativeSum

Подробнее см. страницу про накопительные функции.

Сумма в столбце с накоплением.

Синтаксис: CumulativeSum(столбец)

Пример: CumulativeSum([Промежуточный итог])

Связано: Sum и SumIf.

Offset

Подробнее см. страницу про Offset.

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

Синтаксис: Offset(выражение, смещение-относительно-строки)

  • выражение применяется не к текущей, а к другой строке;
  • смещение-относительно-строки — целое положительное или отрицательное число, которое указывает, на сколько строк нужно сместиться относительно текущей, например:
  • -1 — предыдущая строка;
  • 1 — следующая строка.

Пример: Offset(Sum([Итого]), -1)

получит значение Sum([Итого]) предыдущей строки.

Ограничения: не поддерживается ClickHouse, Druid, MongoDB, MySQL/MariaDB.

Ограничения

Выражения агрегации можно использовать только в блоке Суммировать конструктора запросов.

Ограничения СУБД

Выше уже были перечислены ограничения для каждой функции. Здесь представлена сводка по СУБД:

H2 (включая Sample Database): Median, Percentile, convertTimezone, regexExtract, datetime, float, splitPart.

Athena: convertTimezone, datetime, float, splitPart.

ClickHouse: Offset.

Databricks: convertTimezone, datetime, float, splitPart.

Druid: Median, Percentile, StandardDeviation, power, log, exp, sqrt, Offset, date (в драйвере не-JDBC), datetime, datetimeDiff, float, splitPart. Функция regexExtract и некоторые функции преобразования типов доступны только в драйвере Druid-JDBC.

MongoDB: Median, Percentile, power, log, exp, sqrt, Offset, regexExtract, datetime, float, splitPart.

MariaDB: Median, Percentile, Offset.

MySQL: Median, Percentile, Offset.

Oracle: date, datetime, float, splitPart.

Presto: convertTimezone, datetime, float, splitPart. Только приблизительные результаты для Median и Percentile.

SparkSQL: convertTimezone, datetime, float, splitPart.

SQL Server: Median, Percentile, regexExtract, datetime, float, splitPart.

SQLite: exp, log, Median, Percentile, power, regexExtract, StandardDeviation, sqrt, Variance, datetime, float, splitPart.

Vertica: Median, Percentile, datetime, float, splitPart.

Дополнительная информация