Список выражений¶
Для ознакомления с выражениями ознакомьтесь со статьей Написание выражений в редакторе.
aggregations¶
Выражения агрегации учитывают все значения в поле. Их можно использовать только в разделе Сводка редактора блокнота.
Average¶
Возвращает среднее значение значений в столбце.
Синтаксис: Average(column)
Пример: Average([Quantity])
возвращает среднее значение для поля Quantity
.
Count¶
Возвращает количество строк (также называемых записями) в выбранных данных.
Синтаксис: Count
Пример: Count
Если таблица или результат возвращает 10 строк, Count
вернет 10
.
CountIf¶
Подсчитываются только строки, где условие истинно.
Синтаксис: CountIf(condition)
.
Пример: CountIf([Subtotal] > 100)
вернет количество строк, в которых промежуточный итог превышает 100.
CumulativeCount¶
Аддитивное общее количество строк в диапазоне.
Синтаксис: CumulativeCount
.
Пример: CumulativeCount
.
CumulativeSum¶
Скользаящая сумма колонки в диапазоне.
Синтаксис: CumulativeSum(column)
.
Пример: CumulativeSum([Subtotal])
.
Distinct¶
Количество различных значений в этом столбце.
Синтаксис: Distinct(column)
.
Distinct([Last Name])
. Возвращает количество уникальных фамилий в столбце. Дубликаты (фамилии «Смит» для Примера) не учитываются.
Max¶
Возвращает наибольшее значение, найденное в столбце.
Синтаксис: Max(column)
.
Пример: Max([Age])
вернет самый старый возраст, найденный среди всех значений в столбце Возраст
.
Median¶
Возвращает медианное значение указанного столбца.
Синтаксис: Median(column)
.
Пример: Median([Age])
найдет срединный возраст, при котором половина возрастов старше, а половина возрастов моложе.
Базы данных, не поддерживающие медиану: SQLite, Vertica, SQL server, MySQL. Presto предоставляет только приблизительные результаты.
Min¶
Возвращает наименьшее значение, найденное в столбце.
Синтаксис: Min(column)
.
Пример: Min([Salary])
найдет самую низкую зарплату среди всех зарплат в столбце «Зарплата».
Percentile¶
Возвращает значение столбца в процентиле.
Синтаксис: Percentile(column, percentile-value)
Пример: Percentile([Score], 0.9)
может вернуть значение 90-го процентиля для всех значений в этом столбце.
Базы данных, которые не поддерживают percentile
: H2, MySQL, SQL Server, SQLite, Vertica. Presto предоставляет только приблизительные результаты.
StandardDeviation¶
Вычисляет стандартное отклонение столбца, которое является мерой вариации в наборе значений. Низкое стандартное отклонение означает, что значения группируются вокруг среднего значения, тогда как высокое стандартное отклонение означает, что значения разбросаны по широкому диапазону.
Синтаксис: StandardDeviation(column)
Пример: StandardDeviation([Population])
вернет SD для значений в столбце «Население».
Sum¶
Суммирует все значения столбца.
Синтаксис: Sum(column)
Пример: Sum([Subtotal])
суммирует все значения в столбце «Промежуточный итог».
SumIf¶
Суммирует указанный столбец только для строк, где условие истинно.
Синтаксис: SumIf(column, condition)
.
Пример:SumIf([Subtotal], [Order Status] = "Valid")
суммирует все промежуточные итоги для заказов со статусом «Действительный».
Variance¶
Возвращает числовую дисперсию для данного столбца.
Синтаксис: Variance(column)
Пример: Variance([Temperature])
вернет меру дисперсии средней температуры для всех времен в этом столбце.
Связано: standarddeviation, average.
Functions¶
Функциональные выражения применяются к каждому отдельному значению. Их можно использовать для изменения или фильтрации значений в столбце или для создания новых настраиваемых столбцов.
Abs¶
Возвращает абсолютное (положительное) значение указанного столбца.
Синтаксис: abs(column)
Пример: abs([Debt])
. Если Debt
было -100, abs(-100)
вернет 100
.
Between¶
Проверяет значения столбца даты или числа, чтобы убедиться, что они находятся в пределах указанного диапазона.
Синтаксис: between(column, start, end)
Пример: between([Created At], "2019-01-01", "2020-12-31")
вернет строки, в которых дата «Создано в» попадает в диапазон от 1 января 2019 г. до 31 декабря 2020 г.
Связано: interval.
case¶
Проверяет выражение по списку вариантов и возвращает соответствующее значение первого совпадающего случая с необязательным значением по умолчанию, если ничего другого не встречается.
Синтаксис: case(condition, output, …)
Пример: case([Weight] > 200, "Large", [Weight] > 150, "Medium", "Small")
Если «Вес» равен 250, выражение вернет значение «Большой». В этом случае значением по умолчанию является «Маленький», поэтому любой «Вес» 150 или меньше вернет «Маленький».
Ceil¶
Округляет десятичную дробь вверх.
Синтаксис: ceil(column)
.
Пример: ceil([Price])
. ceil(2.99)
вернет 3.
Связано: Пол, Округление.
Сoalesce¶
Просматривает значения в каждом аргументе по порядку и возвращает первое ненулевое значение для каждой строки.
Синтаксис: coalesce(value1, value2, …)
Пример: coalesce([Comments], [Notes], "No comments")
. Если оба столбца «Комментарии» и «Примечания» для этой строки пусты, выражение вернет строку «Нет комментариев».
concat¶
Объедините две или более строк вместе.
Синтаксис: concat(value1, value2, …)
Пример: concat([Last Name], ", ", [First Name])
создаст строку формата «Фамилия, Имя», например «Палаццо, Энрико».
Contains¶
Проверяет, содержит ли string1 строку string2.
Синтаксис: contains(string1, string2)
Пример: contains([Status], "Class")
. Если бы «Статус» был «Засекречено», выражение вернуло бы «истину».
Связано: regexextract.
convertTimezone¶
Сдвигает значение даты или метки времени в указанный часовой пояс.
Синтаксис: convertTimezone(column, target, source)
.
Пример: convertTimezone("2022-12-28T12:00:00", "Canada/Pacific", "Canada/Eastern")
может вернуть значение «2022-12-28T09:00:00», отображаемое как «28 декабря 2022 г., 9:00».
datetimeAdd¶
Добавляет некоторую единицу времени к значению даты или метки времени.
Синтаксис: datetimeAdd(column, amount, unit)
.
Пример: datetimeAdd("2021-03-25", 1, "month")
вернет значение «2021-04-25», отображаемое как «25 апреля 2021 года».
Связано: between, datetimesubtract.
datetimeDiff¶
Возвращает разницу между двумя датами и временем в некоторую единицу времени. Например, datetimeDiff(d1, d2, "day")
вернет количество дней между d1
и d2
.
Синтаксис: datetimeDiff(datetime1, datetime2, unit)
.
Пример: datetimeDiff("2022-02-01", "2022-03-01", "month")
вернет 1
.
datetimeSubtract¶
Вычитает некоторую единицу времени из значения даты или метки времени.
Синтаксис: datetimeSubtract(column, amount, unit)
.
Пример: datetimeSubtract("2021-03-25", 1, "month")
вернет значение «2021-02-25», отображаемое как «25 февраля 2021 года».
Связано: between, datetimeadd.
Day¶
Принимает дату и время и возвращает день месяца в виде целого числа.
Синтаксис: day([datetime column])
.
Пример: day("2021-03-25T12:52:37")
вернет день как целое число 25
.
endsWith¶
Возвращает true, если конец текста соответствует тексту сравнения.
Синтаксис: endsWith(text, comparison)
endsWith([Appetite], "hungry")
Связано: contains and startswith.
exp¶
Возвращает число Эйлера, e, возведенное в степень заданного числа.
Синтаксис: exp(column)
.
Пример: exp([Interest Months])
Связано: power.
floor¶
Округляет десятичное число в меньшую сторону.
Синтаксис: floor(column)
Пример: floor([Price])
. Если бы «Цена» была равна 1,99, выражение вернуло бы 1.
Hour¶
Принимает дату и время и возвращает час в виде целого числа (0-23).
Синтаксис: hour([datetime column])
.
Пример: hour("2021-03-25T12:52:37")
вернет 12
.
Interval¶
Проверяет значения столбца даты, чтобы увидеть, находятся ли они в относительном диапазоне.
Синтаксис: interval(column, number, text)
.
Пример: interval([Created At], -1, "month")
.
Связано: between.
isempty¶
Возвращает true, если столбец пуст.
Синтаксис: isempty(column)
Пример: isempty([Discount])
вернет true, если в поле скидки не будет значения.
isnull¶
Возвращает true, если столбец пуст.
Синтаксис: isnull(column)
Пример: isnull([Tax])
вернет true, если в столбце для этой строки не будет значения.
ltrim¶
Удаляет начальные пробелы из строки текста.
Синтаксис: ltrim(text)
Пример: ltrim([Comment])
. Если бы комментарий был “Я бы предпочел не делать этого”, ltrim
вернул бы “Я бы предпочел не делать этого”.
length¶
Возвращает количество символов в тексте.
Синтаксис: length(text)
Пример: length([Comment])
Если бы комментарий
был “мастером”, длина
вернула бы 6 (”мастер” имеет шесть символов).
log¶
Возвращает десятичный логарифм числа.
Синтаксис: log(column)
.
Пример: log([Value])
.
lower¶
Возвращает строку текста в нижнем регистре.
Синтаксис: lower(text)
.
Пример: lower([Status])
. Если бы Status
был “QUIET”, выражение вернуло бы “quiet”.
Связано: upper.
minute¶
Принимает дату и время и возвращает минуты в виде целого числа (0-59).
Синтаксис: minute([datetime column])
.
Пример: minute("2021-03-25T12:52:37")
вернет 52
.
month¶
Принимает дату и время и возвращает номер месяца (1-12) в виде целого числа.
Синтаксис: month([datetime column])
.
Пример: month("2021-03-25T12:52:37")
вернет месяц как целое число, 3
.
now¶
Возвращает текущую дату и время с использованием часового пояса отчета GlarusBI.
Синтаксис: now
.
power¶
Возводит число в степень значения экспоненты.
Синтаксис: power(column, exponent)
.
Пример: power([Length], 2)
. Если бы длина была 3
, выражение вернуло бы 9
(3 во второй степени равно 3*3).
Базы данных, которые не поддерживают степень
: SQLite.
Связано: exp.
quarter¶
Принимает дату и время и возвращает номер квартала в году (1-4) в виде целого числа.
Синтаксис: quarter([datetime column])
.
Пример: quarter("2021-03-25T12:52:37")
вернет 1 для первой четверти.
regexextract¶
Извлекает совпадающие подстроки в соответствии с регулярным выражением.
Синтаксис: regexextract(text, regular_expression)
.
Пример: regexextract([Address], "[0-9]+")
.
Базы данных, которые не поддерживают regexextract
: H2, SQL Server, SQLite.
replace¶
Заменяет часть введенного текста новым текстом.
Синтаксис: replace(text, find, replace)
.
Пример: replace([Title], "Enormous", "Gigantic")
.
rtrim¶
Удаляет конечный пробел из строки текста.
Синтаксис: rtrim(text)
Пример: rtrim([Comment])
. Если бы комментарий был «Страх убивает разум », выражение возвращало бы «Страх убивает разум».
round¶
Округляет десятичное число вверх или вниз до ближайшего целого числа.
Синтаксис: round(column)
.
Пример: round([Temperature])
. Если бы температура была «13,5» градусов по Цельсию, выражение вернуло бы «14».
second¶
Принимает дату и время и возвращает количество секунд в минутах (0-59) в виде целого числа.
Синтаксис: second([datetime column)
.
Пример: second("2021-03-25T12:52:37")
вернет целое число 37
.
sqrt¶
Возвращает квадратный корень значения.
Синтаксис: sqrt(column)
.
Пример: sqrt([Hypotenuse])
.
Базы данных, которые не поддерживают sqrt
: SQLite.
Связано: power.
startsWith¶
Возвращает true, если начало текста соответствует тексту сравнения.
Синтаксис: startsWith(text, comparison)
.
Пример: startsWith([Course Name], "Computer Science")
вернет true для названий курсов, начинающихся с «Информатика», например «Информатика 101: введение».
substring¶
Возвращает часть предоставленного текста, заданную начальной позицией и длиной.
Синтаксис: substring(text, position, length)
Пример: substring([Title], 1, 10)
возвращает первые 10 букв строки (индекс строки начинается с позиции 1).
Связано: regexextract, replace.
trim¶
Удаляет начальные и конечные пробелы из строки текста.
Синтаксис: trim(text)
Пример: trim([Comment])
удалит любые пробельные символы по обе стороны от комментария.
upper¶
Возвращает текст в верхнем регистре.
Синтаксис: upper(text)
.
Пример: upper([Status])
. Если бы статус был “гипер”, upper("гипер")
вернул бы “ГИПЕР”.
week¶
Принимает дату и время и возвращает неделю как целое число.
Синтаксис: week(column, mode)
.
Пример: week("2021-03-25T12:52:37")
вернет неделю как целое число, 12
.
столбец: имя столбца значения даты или даты и времени.
режим: необязательно.
ISO: (по умолчанию) Неделя 1 начинается в понедельник перед первым четвергом января.
США: неделя 1 начинается 1 января. Все остальные недели начинаются в воскресенье.
Экземпляр: неделя 1 начинается 1 января. Все остальные недели начинаются в день, указанный в настройках локализации вашей Metabase.
year¶
Принимает дату и время и возвращает год как целое число.
Синтаксис: year([datetime column])
.
Пример: year("2021-03-25T12:52:37")
вернет 2021 год как целое число, 2,021
.
Ограничения базы данных¶
Если вы используете или поддерживаете сторонний драйвер базы данных, [обратитесь к вики(https://github.com/metabase/metabase/wiki/What’s-new-in-0.35.0-for-GlarusBI-driver-authors), чтобы увидеть, как это может повлиять на ваш драйвер.
См. Пользовательские выражения в редакторе записной книжки чтобы узнать больше.