Substring

substring извлекает часть текста. Эта функция полезна для очистки текста (или любого значения с строковым типом данных) имеет постоянный формат.

Для примера substring должна хорошо работать со строками, такими как номера SKU, коды ISO и стандартизированные адреса электронной почты.

| Синтаксис | Пример | |—————————————————————————————————|—————————————| | substring(text, position, length) | substring("user_id@email.com", 1, 7)| | Извлекает часть текста с заданной начальной точкой (положением) и длиной (количеством символов). | “user_id” |

Параметры

  • Первый символ в вашей строке находится в позиции 1.

  • Длина вашей подстроки всегда должна быть положительным числом.

Получение подстроки слева

| ID Миссии | Агент | |————–|——-| | 19951113006 | 006 | | 20061114007 | 007 | | 19640917008 | 008 |

Агент — это настраиваемый столбец с выражением:

substring([Mission ID], 9, 3)

Получение подстроки справа

Вместо того, чтобы использовать число для позиции, вы будете использовать формулу

1 + length([column]) - position_from_right

где position_from_right — это количество символов, которые вы хотите считать справа налево.

| ID Миссии | Агент | |————-|——-| | 19951113006 | 006 | | 20061114007 | 007 | | 19640917008 | 008 |

Здесь Агент — это настраиваемый столбец с выражением:

substring([Mission ID], (1 + length([Mission ID]) - 3), 3)

Допустимые типы данных

| Тип данынх | Работает с substring | | ———————– | ——————– | | Строка | ✅ | | Число | ❌ | | Дата Время | ❌ | | Условие | ❌ | | JSON | ❌ |

Ограничения

substring извлекает текст, подсчитывая фиксированное количество символов. Если вам нужно извлечь текст на основе более сложной логики, попробуйте regexextract.

А если вам нужно только убрать лишние пробелы вокруг текста, вы можете использовать Трим, [Левый_трим](../expressions-list.md #lefttrim) или выражения Правый_трим.

Связанные функции

В этом разделе рассматриваются функции и формулы, которые работают так же, как выражение substring GlarusBI, с примечаниями о том, как выбрать лучший вариант для вашего случая использования.

Выражения GlarusBI

Другие инструменты

Вытянуть текст

Используйте regexextract, если вам нужно извлечь текст на основе более конкретных правил. Например, вы можете получить идентификатор агента с шаблоном регулярного выражения, который находит последнее вхождение «00» (и все после него):

regexextract([Mission ID], ".+(00.+)$")

should return the same result as

substring([Mission ID], 9, 3)

SQL

Когда вы задаете вопрос с помощью редактора блокнота, GlarusBI преобразует ваши графические настройки запроса (фильтры, сводки и т. д.) в запрос и запускает этот запрос. против вашей базы данных, чтобы получить ваши результаты.

Если наши примеры данных хранятся в базе данных PostgreSQL:

SELECT
    mission_id,
    SUBSTRING(mission_id, 9, 3) AS agent
FROM
    this_message_will_self_destruct;

равно выражению GlarusBI substring:

substring([Mission ID], 9, 3)

Таблицы

Если наши примеры данных находятся в электронной таблице, где «ID миссии» находится в столбце A,

=mid(A2,9,3)

равно выражению GlarusBI substring:

substring([Mission ID], 9, 3)

Python

Предполагая, что образец данных находится в столбце фрейма данных с именем df,

df['Agent'] = df['Mission ID'].str.slice(8, 11)

равно выражению GlarusBI substring:

substring([Mission ID], 9, 3)

Дополнительная информация