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

Для ознакомления с выражениями ознакомьтесь со статьей Написание выражений в редакторе.

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]).

Связано: sum и sumif.

Distinct

Количество различных значений в этом столбце.

Синтаксис: Distinct(column).

Distinct([Last Name]). Возвращает количество уникальных фамилий в столбце. Дубликаты (фамилии «Смит» для Примера) не учитываются.

Max

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

Синтаксис: Max(column).

Пример: Max([Age]) вернет самый старый возраст, найденный среди всех значений в столбце Возраст.

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

Median

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

Синтаксис: Median(column).

Пример: Median([Age]) найдет срединный возраст, при котором половина возрастов старше, а половина возрастов моложе.

Базы данных, не поддерживающие медиану: SQLite, Vertica, SQL server, MySQL. Presto предоставляет только приблизительные результаты.

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

Min

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

Синтаксис: Min(column).

Пример: Min([Salary]) найдет самую низкую зарплату среди всех зарплат в столбце «Зарплата».

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

Percentile

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

Синтаксис: Percentile(column, percentile-value)

Пример: Percentile([Score], 0.9) может вернуть значение 90-го процентиля для всех значений в этом столбце.

Базы данных, которые не поддерживают percentile: H2, MySQL, SQL Server, SQLite, Vertica. Presto предоставляет только приблизительные результаты.

Share

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

Синтаксис: Share(condition)

Пример: Share([Color] = "Blue") вернет количество строк с полем «Цвет», установленным на «Синий», деленное на общее количество строк.

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.

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

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 вернул бы “Я бы предпочел не делать этого”.

Связано: trim and righttrim.

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.

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

replace

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

Синтаксис: replace(text, find, replace).

Пример: replace([Title], "Enormous", "Gigantic").

rtrim

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

Синтаксис: rtrim(text)

Пример: rtrim([Comment]). Если бы комментарий был «Страх убивает разум », выражение возвращало бы «Страх убивает разум».

Связано: trim and lefttrim.

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: введение».

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

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), чтобы увидеть, как это может повлиять на ваш драйвер.

См. Пользовательские выражения в редакторе записной книжки чтобы узнать больше.