Список выражений¶
Для ознакомления с выражениями см. [обзор пользовательских выражений][expressions].
- Список выражений
- Агрегации
- Функции
- Логические функции
- between
- case
- coalesce
- if
- in
- isNull
- notIn
- notNull
- Математические функции
- abs
- ceil
- exp
- floor
- log
- power
- round
- sqrt
- Функции для работы со строками
- concat
- contains
- date
- datetime
- doesNotContain
- domain
- endsWith
- float
- host
- integer
- isEmpty
- length
- lower
- lTrim
- notEmpty
- path
- regexExtract
- replace
- rTrim
- splitPart
- startsWith
- subdomain
- substring
- text
- trim
- upper
- Функции для работы с датами
- convertTimezone
- datetimeAdd
- datetimeDiff
- datetimeSubtract
- day
- dayName
- hour
- interval
- minute
- month
- monthName
- now
- quarter
- quarterName
- relativeDateTime
- second
- timeSpan
- today
- week
- weekday
- year
- Функции преобразования типов
- Оконные функции
- CumulativeCount
- CumulativeSum
- Offset
- Ограничения
- Ограничения СУБД
- Дополнительная информация
Агрегации¶
Выражения агрегации учитывают все значения в поле. Их можно использовать только в блоке Суммировать конструктора запросов.
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¶
Возвращает наименьшее значение, найденное в столбце.
Синтаксис: 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, если в столбце Налог для этой строки не будет значения.
notIn¶
Возвращает true, если значение1 не равно значение2 (и значение3 и т.д., если они указаны).
Синтаксис: notIn(значение1, значение2, ...)
значение1: столбец или значение, которое нужно проверить;значение2, ...: столбцы или значения, которые нужно найти.
Можно добавить больше значений для сравнения.
Пример: notIn([Категория], "Widget", "Gadget") вернёт true для строк, где Категория не равна "Widget" и не равна "Gadget".
notNull¶
Возвращает true, если столбец содержит значение.
Синтаксис: notNull(столбец)
Пример: notNull([Налог])
вернёт true, если в столбце Налог для этой строки задано значение.
Математические функции¶
Популярные математические операции общего назначения.
abs¶
Возвращает абсолютное (положительное) значение указанного столбца.
Синтаксис: abs(столбец)
Пример: abs([Задолженность])
Если Задолженность была -100, abs(-100) вернёт 100.
ceil¶
Округляет десятичную дробь вверх.
Синтаксис: ceil(столбец)
Пример: ceil([Цена])
ceil(2.99) вернёт 3.
exp¶
Возвращает число Эйлера (wiki), e, возведённое в указанную степень. Число e приблизительно равно 2,71828182845904 и является основанием натурального логарифма.
Синтаксис: exp(столбец)
Пример: exp([Значение])
Ограничения: не поддерживается Druid, MongoDB, SQLite.
Связано: power.
floor¶
Округляет десятичное число вниз.
Синтаксис: floor(столбец)
Пример: floor([Цена])
Если Цена равна 1.99, выражение вернёт 1.
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 поддерживает такие форматы строк:
Некоторые базы данных могут работать и с другими форматами.
Ограничения: доступно только для 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, если в поле "Отзыв" не будет значения или будет пустая строка ('').
length¶
Возвращает количество символов в тексте.
Синтаксис: length(текст)
Пример: length([Комментарий])
Если Комментарий — Договорились, функция вернёт 12 (в слове "Договорились" двенадцать символов).
lower¶
Возвращает строку текста в нижнем регистре.
Синтаксис: lower(текст)
Пример: lower([Статус])
Если Статус — УСПЕХ, функция вернёт успех в нижнем регистре.
Связано: upper.
lTrim¶
Удаляет начальные пробелы из строки текста.
Синтаксис: lTrim(текст)
Пример: lTrim([Комментарий])
Если Комментарий — « Требует обсуждения», ltrim вернёт Требует обсуждения (без пробелов вначале).
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([Комментарий])
Если Комментарий — Лучшая покупка в этом месяце, функция возвратит Лучшая покупка в этом месяце, без пробелов в конце строки.
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.
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 (третий квартал).
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([Промежуточный итог])
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.