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

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

Редактор пользовательского выражения

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

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

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

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

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

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

Введите выражение, назовите его и нажмите Готово. Если кнопка "Готово" неактивна, проверьте, что выражение корректно, и что вы его назвали (в нижней части редактора выражений).

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

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

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

Агрегации

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

Функции

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

Браузер функций

Браузер функций

В редактор выражений встроен браузер функций, который помогает находить нужные функции. Чтобы открыть браузер, включите f справа от редактора выражений. См. также список функций и агрегаций.

Автоформатирование

Автоформатирование выражения

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

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

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

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

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

Условные и логические операторы

Операторы сравнения:

  • >
  • >= (больше или равно)
  • <
  • <= (меньше или равно)
  • =
  • != (не равно)

Булевы операторы для логической конъюнкции, дизъюнкции и отрицания:

  • AND
  • OR
  • NOT

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

Также можно использовать условия с функцией case (алиас if):

case([Size] = "L", "LARGE", [SIZE] = "M", "MEDIUM", "SMALL")

См. case.

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

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

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

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

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

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

  • Выражения фильтра отличаются тем, что они должны возвращать логическое значение (истинно или ложно). Например, вы можете написать [Subtotal] + [Tax] < 100. Glarus BI просматривает каждую строку, складывает промежуточный итог и налог, а затем проверяет, превышает ли эта сумма 100. Если да, то утверждение считается истинным, и Glarus BI включает строку в результат. Если бы вместо этого вы (по ошибке) написали [Subtotal] + [Tax], Glarus BI не знала бы, что делать, поскольку это выражение не оценивается как истинное или ложное.
  • Аргументы логических операторов вроде AND и OR должны быть булевыми. Например: [Subtotal] < 100 AND [Tax] > 12.
  • Вы можете использовать функции внутри условной части агрегатов 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 г.

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