substring¶
substring
извлекает часть текста. Эта функция полезна для очистки текста (или любого значения со строковым типом данных (документация Metabase, англ.)) имеет постоянный формат.
Для примера substring
должна хорошо работать со строками, такими как номера SKU, коды ISO и стандартизированные адреса электронной почты.
Синтаксис | Пример |
---|---|
substring(text, position, length) |
substring("user_id@email.com", 1, 7) |
Извлекает часть текста с заданной начальной точкой (положением) и длиной (количеством символов). | "user_id" |
Параметры¶
- Первый символ в вашей строке находится в позиции 1.
- Длина вашей подстроки всегда должна быть положительным числом.
Получение подстроки слева¶
ID Миссии | Агент |
---|---|
19951113006 | 006 |
20061114007 | 007 |
19640917008 | 008 |
Агент — это настраиваемый столбец с выражением:
Получение подстроки справа¶
Вместо того, чтобы использовать число для позиции, вы будете использовать формулу
где position_from_right
— это количество символов, которые вы хотите считать справа налево.
ID Миссии | Агент |
---|---|
19951113006 | 006 |
20061114007 | 007 |
19640917008 | 008 |
Здесь Агент — это настраиваемый столбец с выражением:
Допустимые типы данных¶
Тип данных | Работает с substring |
---|---|
Строка | ✅ |
Число | ❌ |
Дата Время | ❌ |
Условие | ❌ |
JSON | ❌ |
Информация о типах данных приведена в разделе обучения руководства Metabase (англ.).
Ограничения¶
substring
извлекает текст, подсчитывая фиксированное количество символов. Если вам нужно извлечь текст на основе более сложной логики, попробуйте regexextract
.
А если вам нужно только убрать лишние пробелы вокруг текста, вы можете использовать Трим, ltrim или выражения rtrim.
Связанные функции¶
В этом разделе рассматриваются функции и формулы, которые работают так же, как выражение substring
GlarusBI, с примечаниями о том, как выбрать лучший вариант для вашего случая использования.
Другие инструменты
regexextract¶
Используйте regexextract, если вам нужно извлечь текст на основе более конкретных правил. Например, вы можете получить идентификатор агента с шаблоном регулярного выражения, который находит последнее вхождение «00» (и все после него):
should return the same result as
SQL¶
Когда вы задаёте запрос с помощью редактора блокнота, GlarusBI преобразует ваши графические настройки запроса (фильтры, сводки и т.д.) в запрос и запускает этот запрос. против вашей базы данных, чтобы получить ваши результаты.
Если наши примеры данных хранятся в базе данных PostgreSQL:
равно выражению GlarusBI substring
:
Таблицы¶
Если наши примеры данных находятся в электронной таблице, где «ID миссии» находится в столбце A,
равно выражению GlarusBI substring
:
Python¶
Предполагая, что образец данных находится в столбце фрейма данных с именем df
,
равно выражению GlarusBI substring
: