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

Произвольные выражения

Произвольные выражения похожи на формулы в программах для работы с электронными таблицами, таких как Excel, Google Sheets и LibreOffice Calc. Это мощные инструменты в редакторе конструктора запросов, которые позволяют вам создавать более сложные запросы.

Вы также можете перейти к полному списку выражений.

Произвольные выражения для создания фильтров, метрик и произвольных столбцов

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

При использовании конструктора запросов вы можете использовать выражения для создания новых:

  • Фильтров. Выражение = contains([comment], "Glarus BI") отфильтровывало бы строки, в которых поле comment содержало слово "Glarus BI".
  • Метрик. Также известны как сводки или агрегации. = share([Total] > 50) вернёт процент заказов с общей суммой более 50 долларов.
  • Произвольных столбцов. Вы можете использовать = [Subtotal] / [Quantity], чтобы создать новый столбец, который вы могли бы назвать «Цена товара».

Эта страница описывает основы выражений. Вы можете просмотреть полный список выражений в Glarus BI или просмотреть руководство, в котором показано, как можно использовать произвольные выражения в конструкторе запросов (документация Metabase, англ.).

Типы выражений

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

Агрегации

Агрегации берут значения из нескольких строк для выполнения вычислений, например, для нахождения среднего значения по всем значениям в столбце. Функции агрегации можно использовать только в разделе Суммировать конструктора запросов, так как агрегации используют значения из всех строк для этого столбца. Таким образом, хотя вы могли создать настраиваемый столбец с формулой [Subtotal] + [Tax], вы могли не писать Sum([Subtotal] + [Tax]), если только вы не создавали собственное выражение метрики (которое добавило бы сумму всех промежуточных итогов и налогов).

Функции

Функции напротив, что-то делают с каждым значением в столбце, например, ищут слово в каждом значении (contains), округляют каждое значение до ближайшего целого числа (функция ceil) и так далее.

Базовые математические вычисления

Используйте +, -, * (умножить), / (разделить) в числовых столбцах, содержащих числовые значения — целые числа, числа с плавающей запятой (float и double). Вы можете использовать круглые скобки ( и ), чтобы группировать части вашего выражения.

Например, вы можете создать новый столбец, который вычисляет разницу между итогом и промежуточным итогом заказа:= [Total] - [Subtotal].

Чтобы выполнять математические операции со столбцами временны́х меток, вы можете использовать функции даты, такие как dateDiff.

Условные операторы

AND, OR, NOT, >, >= (больше или равно), <, <= (меньше или равно), =, != (не равно).

Например, вы можете создать фильтр для клиентов из Калифорнии или Вермонта: = [State] = "CA" OR [State] = "VT".

Ссылки на другие столбцы

Вы можете ссылаться на столбцы в текущей таблице или на столбцы, которые связаны отношением внешнего ключа. Названия столбцов должны быть заключены в квадратные скобки, например: [Name of Column]. На столбцы в связанных таблицах можно ссылаться следующим образом: [ConnectedTableName.Column].

Ссылки на сегменты и метрики

Вы можете делать ссылки на сохранённые сегменты и метрики которые присутствуют в текущей выбранной таблице. Вы пишете их так же, как и столбцы, например: [Valid User Sessions].

Выражения фильтра и условия

Некоторые особенности, которые следует учитывать:

  • Выражения фильтра отличаются тем, что они должны возвращать логическое значение (истинно или ложно). Для примера вы можете написать [Subtotal] + [Tax] < 100. Glarus BI просматривает каждую строку, добавляет её промежуточный итог и налог, проверяет, превышает ли эта сумма 100. Если это так, утверждение оценивается как истинное, и Glarus BI включает строку в результат. Если бы вместо этого вы (по ошибке) написали [Subtotal] + [Tax], Glarus BI не знала бы, что делать, поскольку это выражение не оценивается как истинное или ложное.

  • Вы можете использовать функции внутри условной части агрегатов Countif и Sumif, например: countif( round([Subtotal]) > 100 OR floor([Tax]) < 10 ).

Работа с датами в выражениях фильтра

Если вы хотите работать с датами в выражениях фильтра, даты должны соответствовать формату "YYYY-MM-DD", то есть четыре символа для года, два — для месяца и два — для дня, заключённые в кавычки " и разделённые дефисом -.

Пример:

between([Created At], "2025-01-01", "2025-03-31") OR [Received At] > "2024-12-25"

Это выражение будет возвращать строки, где Created At между 1 января 2025 г. и 31 марта 2025 г. или где Received At после 25 декабря 2024 г.

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

Общий список выражений.

Использование в редакторе.