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

Строковые функции

Строковые функции - это функции, которые позволяют работать с текстовыми данными: изменять, объединять, очищать, искать.

Синтаксис формул похож на SQL.

CHAR

#строковая

Позволяет отобразить символ ASCII кода, записанный числом.

Возвращает строку с символом ASCII кода из числа value.

CHAR    (
            value
        )

Тип данных value: Число (целое)

Исходные данные: Доступны данные прибыли по заказам.

Цель: Отобразить символ "стрелка вверх" напротив суммы больше 1000.

Формула:

IF  [profit] > 1000  THEN CHAR (94)
    ELSE CHAR (88)
END

Результат:

CHAR

Подробнее

1.В виджете на вкладке Данные поле Profit (прибыль) определено как Группы.

CHAR_step1

2.В Расчетные агрегаты добавлен новый агрегат Profit_up (рост), в Промежутоное значение указана формула IF [profit] > 1000 THEN CHAR (94)(1) ELSE CHAR (88)(2) END.

  1. ℹ если условие соблюдено, то выводим символ стрелки
  2. ℹ если условие не соблюдено, то выводим символ х

CHAR_step2

3.Расчетный агрегат Profit_up (рост) определен как Столбцы.

CONCAT

#строковая

Позволяет "склеить" данные в одну строку.

Возвращает строку, полученную объединением value_N.

CONCAT  (
            value_1,
            value_2,
            ...
        )

Тип данных value: Логический, Дата, Число (дробное), Число (целое), Строка

Похожие: ALL_CONCAT | TOP_CONCAT

Исходные данные: Доступны данные по году, месяцу и дню заказа.

Цель: Отобразить дату заказа в формате "Дата заказа: ДД.ММ.ГГГГ".

Формула:

CONCAT  (
            'Дата заказа: ', 
            [den], 
            '.',
            [mesac], 
            '.',
            [god]
        )

Результат:

CONCAT

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поля Den (день), Mesac (месяц), God (год) определены как Группы.

CONCAT_step1

3.В Расчетные агрегаты добавлен новый агрегат Date_string (дата заказа), в Промежутоное значение указана формула CONCAT ('Дата заказа: ', [den], '.', [mesac], '.', [god]).

CONCAT_step2

4.Расчетный агрегат Date_string (дата заказа) определен как Агрегаты.

CONTAINS

#строковая

Позволяет проверить наличие подстроки в строке учитывая регистр написания.

Возвращает 1 (true), если string содержит substring. Это регистрозависимая проверка.

CONTAINS    (
                string,
                substring
            )

Тип данных string: Логический, Дата, Число (дробное), Число (целое), Строка

Тип данных substring: Строка

Похожие: ENDSWITH | IENDSWITH | ICONTAINS | ISTARTSWITH | STARTSWITH | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Отметить 1 строки, где встречалась категория Furniture.

Формула:

CONTAINS    (
                [category], 
                'Furniture'
            )

Результат:

CONTAINS

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

CONTAINS_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_check (проверка категории), в Промежутоное значение указана формула CONTAINS ([category], 'Furniture').

CONTAINS_step2

4.Расчетный агрегат Category_check (проверка категории) определен как Агрегаты.

ENDSWITH

#строковая

Позволяет проверить наличие подстроки в конце строки учитывая регистр написания.

Возвращает 1 (true), если string заканчивается substring. Это регистрозависимая проверка.

ENDSWITH    (
                string,
                substring
            )

Тип данных string: Логический, Дата, Число (дробное), Число (целое), Строка

Тип данных substring: Строка

Похожие: CONTAINS | IENDSWITH | ICONTAINS | ISTARTSWITH | STARTSWITH | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные по категориям товаров в заказах, категория "other" всегда указана последней.

Цель: Отметить 1 строки, где встречалась категория Other.

Формула:

ENDSWITH    (
                [category], 
                'Other'
            )

Результат:

ENDSWITH

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

ENDSWITH_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_check (проверка категории), в Промежутоное значение указана формула ENDSWITH ([category], 'Other').

ENDSWITH_step2

4.Расчетный агрегат Category_check (проверка категории) определен как Агрегаты.

FIND

#строковая

Позволяет получить номер символа строки, на котором начинается подстрока.

Возвращает номер первого символа substring из string. Параметр index задает начальную позицию для поиска (по умолчанию - 1).

FIND    (
            string,
            substring,
            index
        )

Тип данных string и substring: Строка

Тип данных index: Число (целое)

Исходные данные: Доступны данные по клиенту: номер в системе и телефон.

Цель: Проверить наличие корректного (начинается с +7) номера телефона клиента. Если получим 0, значит номера нет или он некорректный.

Формула:

FIND    (
            [clients], 
            '+7'
        )

Результат:

FIND

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Clients (клиент) определено как Группы.

FIND_step1

3.В Расчетные агрегаты добавлен новый агрегат Clients_check (проверка данных клиента), в Промежутоное значение указана формула FIND ([clients], '+7').

FIND_step2

4.Расчетный агрегат Clients_check (проверка данных клиента) определен как Агрегаты.

ICONTAINS

#строковая

Позволяет проверить наличие подстроки в строке без учета регистра написания.

Возвращает 1 (true), если string содержит substring. Это регистроНЕзависимая проверка.

ICONTAINS   (
                string,
                substring
            )

Тип данных string: Логический, Дата, Число (дробное), Число (целое), Строка

Тип данных substring: Строка

Похожие: CONTAINS | ENDSWITH | IENDSWITH | ISTARTSWITH | STARTSWITH | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Отметить 1 строки, где встречалась категория Furniture.

Формула:

ICONTAINS   (
                [category], 
                'furniture'
            )

Результат:

ICONTAINS

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

ICONTAINS_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_check (проверка категории), в Промежутоное значение указана формула ICONTAINS ([category], 'furniture').

ICONTAINS_step2

4.Расчетный агрегат Category_check (проверка категории) определен как Агрегаты.

IENDSWITH

#строковая

Позволяет проверить наличие подстроки в конце строки без учета регистра написания.

Возвращает 1 (true), если string заканчивается substring. Это регистроНЕзависимая проверка.

IENDSWITH   (
                string,
                substring
            )

Тип данных string: Логический, Дата, Число (дробное), Число (целое), Строка

Тип данных substring: Строка

Похожие: CONTAINS | ENDSWITH | ICONTAINS | ISTARTSWITH | STARTSWITH | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные по категориям товаров в заказах, категория "other" всегда указана последней.

Цель: Отметить 1 строки, где встречалась категория other.

Формула:

IENDSWITH   (
                [category], 
                'other'
            )

Результат:

IENDSWITH

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

IENDSWITH_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_check (проверка категории), в Промежутоное значение указана формула IENDSWITH ([category], 'other').

IENDSWITH_step2

4.Расчетный агрегат Category_check (проверка категории) определен как Агрегаты.

ISTARTSWITH

#строковая

Позволяет проверить наличие подстроки в начале строки без учета регистра написания.

Возвращает 1 (true), если string начинается с substring. Это регистроНЕзависимая проверка.

ISTARTSWITH (
                string,


                substring
            )

Тип данных string: Логический, Дата, Число (дробное), Число (целое), Строка

Тип данных substring: Строка

Похожие: CONTAINS | ENDSWITH | IENDSWITH | ICONTAINS | STARTSWITH | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные по датам заказов.

Цель: Отметить 1 заказы 2024 года.

Формула:

ISTARTSWITH (
                [date], 
                '2024'
            )

Результат:

ISTARTSWITH

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Date (дата) определено как Группы.

ISTARTSWITH_step1

3.В Расчетные агрегаты добавлен новый агрегат 2024, в Промежутоное значение указана формула ISTARTSWITH ([date], '2024').

ISTARTSWITH_step2

4.Расчетный агрегат 2024 определен как Агрегаты.

LEFT

#строковая

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

Возвращает подстроку длиной number из начала string.

LEFT    (
            string,
            number
        )

Тип данных string: Строка

Тип данных number: Число (целое)

Похожие: CONTAINS | ENDSWITH | IENDSWITH | ICONTAINS | ISTARTSWITH | STARTSWITH | RIGHT | SUBSTR | REGEXP_EXTRACT | REGEXP_REPLACE | REPLACE

Исходные данные: Доступны данные по клиенту: номер в системе и телефон.

Цель: Получить номер клиента в системе.

Формула:

LEFT    (
            [clients], 
            3
        )

Результат:

LEFT

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Clients (клиент) определено как Группы.

LEFT_step1

3.В Расчетные агрегаты добавлен новый агрегат Clients_number (номер клиента), в Промежутоное значение указана формула LEFT ([clients], 3).

LEFT_step2

4.Расчетный агрегат Clients_number (номер клиента) определен как Агрегаты.

LEN

#строковая

Позволяет получить количество символов в строке.

Возвращает количество символов в string.

LEN (
        string
    )

Тип данных string: Строка

Исходные данные: Доступны данные по номеру телефона клиента.

Цель: Проверить корректность номера телефона. Количество символов в номере 12 с учетом +.

Формула:

LEN (
        [phone]
    )

Результат:

LEN

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Phone (телефон) определено как Группы.

LEN_step1

3.В Расчетные агрегаты добавлен новый агрегат Phone_check (проверка телефона), в Промежутоное значение указана формула LEN ([phone]).

LEN_step2

4.Расчетный агрегат Phone_check (проверка телефона) определен как Агрегаты.

LOWER

#строковая

Позволяет привести строку к нижнему регистру.

Возвращает string в нижнем регистре.

LOWER   (
            string
        )

Тип данных string: Строка

Похожие: UPPER

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Привести к единому написанию (с прописной буквы) наименования категорий.

Формула:

LOWER   (
            [category]
        )

Результат:

LOWER

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

LOWER_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_edit (категории товаров), в Промежутоное значение указана формула LOWER ([category]).

LOWER_step2

4.Расчетный агрегат Category_edit (категории товаров) определен как Агрегаты.

LTRIM

#строковая

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

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

LTRIM   (
            string
        )

Тип данных string: Строка

Похожие: RTRIM | TRIM

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Удалить лишние пробелы в начале строки.

Формула:

LTRIM   (
            [category]
        )

Результат:

LTRIM

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

LTRIM_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_edit (категории товаров), в Промежутоное значение указана формула LTRIM ([category]).

LTRIM_step2

4.Расчетный агрегат Category_edit (категории товаров) определен как Агрегаты.

REGEXP_EXTRACT

#строковая

Позволяет получить новую строку из строки по регулярному выражению.

Возвращает новую строку из string по регулярному выражению pattern.

Для составления регулярного выражения используйте синтаксис RE2

REGEXP_EXTRACT  (
                    string,
                    pattern
                )

Тип данных string и pattern: Строка

Похожие: REGEXP_REPLACE | REPLACE | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные прибыли по заказам с указанием валюты.

Цель: Показать сумму прибыли без указания валюты.

Формула:

REGEXP_EXTRACT  (
                    [profit],
                    '(\\d+(?:\\.\\d+)?) руб'
                )

Результат:

REGEXP_EXTRACT

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Profit (прибыль с валютой) определено как Группы.

REGEXP_EXTRACT_step1

3.В Расчетные агрегаты добавлен новый агрегат Profit_n (прибыль), в Промежутоное значение указана формула REGEXP_EXTRACT ([profit], '(\\d+(?:\\.\\d+)?) руб')(1).

  1. ℹ \d+ - находим несколько цифр подряд
    ?: - следующие действия выполняются, если есть десятичная часть в сумме
    \. - находим символ точки
    \d+ - находим несколько цифр подряд после точки
    руб - после числа должен быть текст "руб"

REGEXP_EXTRACT_step2

4.Расчетный агрегат Profit_n (прибыль) определен как Агрегаты.

REGEXP_REPLACE

#строковая

Позволяет заменить часть строки по регулярному выражению.

Возвращает обработанную строку string, часть которой была найдена по регулярному выражению pattern и заменена на replace.

Для составления регулярного выражения используйте синтаксис RE2

REGEXP_REPLACE  (
                    string,
                    pattern,
                    replace
                )

Тип данных string, replace и pattern: Строка

Похожие: REGEXP_EXTRACT | REPLACE | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные прибыли по заказам с указанием валюты. Валюта написана по-разному .

Цель: Показать сумму прибыли и заменить валюту на р.

Формула:

REGEXP_REPLACE  (
                    [profit],
                    '(?i)(\\d[\\d\\s\\.]*)\\s*руб(\\.|ль|лей)?',
                    '\\1 р.'
                )

Результат:

REGEXP_REPLACE

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Profit (прибыль с валютой) определено как Группы.

REGEXP_REPLACE_step1

3.В Расчетные агрегаты добавлен новый агрегат Profit_n (прибыль), в Промежутоное значение указана формула REGEXP_REPLACE ([profit], '(?i)(\\d[\\d\\s\\.]*)\\s*руб(\\.|ль|лей)?','\\1 р.')(1).

  1. ℹ ?i - применить к группе, не учитывать регистр написания
    \d - строка начинается с цифр
    [\d\s\.] - находим набор символов из любых цифр (\d), который может содержать пробелы (\s) и разделитель точку (.)
    * - повторяем при необходимости
    \s - находим любое количество пробелов
    руб(\.|ль|лей)? - находим текст "руб"/"руб."/"рубль"/"рублей", вся группа не обязательна к выполнению (?)
    \1 - сохраняем полученное число (первая группа символов (\d[\d\s\.]
    )) и заменяем только текст

REGEXP_REPLACE_step2

4.Расчетный агрегат Profit_n (прибыль) определен как Агрегаты.

REPLACE

#строковая

Позволяет заменить часть строки.

Возвращает обработанную строку string, в которой часть substring заменена на replace.

REPLACE (
            string,
            substring,
            replace
        )

Тип данных string, substring и pattern: Строка

Похожие: REGEXP_EXTRACT | REGEXP_REPLACE | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные прибыли по заказам с указанием валюты.

Цель: Показать сумму прибыли и заменить валюту на р.

Формула:

REPLACE  (
            [profit],
            'руб',
            'р.'
        )

Результат:

REPLACE

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Profit (прибыль с валютой) определено как Группы.

REPLACE_step1

3.В Расчетные агрегаты добавлен новый агрегат Profit_n (прибыль), в Промежутоное значение указана формула REPLACE ([profit], 'руб','р.').

REPLACE_step2

4.Расчетный агрегат Profit_n (прибыль) определен как Агрегаты.

#строковая

Позволяет получить подстроку заданной длины с конца строки.

Возвращает подстроку длиной number с конца string.

RIGHT   (
            string,
            number
        )

Тип данных string: Строка

Тип данных number: Число (целое)

Похожие: CONTAINS | ENDSWITH | IENDSWITH | ICONTAINS | ISTARTSWITH | STARTSWITH | LEFT | SUBSTR | REGEXP_EXTRACT | REGEXP_REPLACE | REPLACE

Исходные данные: Доступны данные по клиенту: номер в системе и телефон.

Цель: Получить номер телефона клиента.

Формула:

RIGHT   (
            [clients], 
            12
        )

Результат:

RIGHT

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Clients (клиент) определено как Группы.

RIGHT_step1

3.В Расчетные агрегаты добавлен новый агрегат Clients_phone (телефон клиента), в Промежутоное значение указана формула RIGHT ([clients], 12).

RIGHT_step2

4.Расчетный агрегат Clients_phone (телефон клиента) определен как Агрегаты.

RTRIM

#строковая

Позволяет удалить лишние пробелы в конце строки.

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

RTRIM   (
            string
        )

Тип данных string: Строка

Похожие: TRIM | LTRIM

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Удалить лишние пробелы в конце строки.

Формула:

RTRIM   (
            [category]
        )

Результат:

RTRIM

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

RTRIM_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_edit (категории товаров), в Промежутоное значение указана формула RTRIM ([category]).

RTRIM_step2

4.Расчетный агрегат Category_edit (категории товаров) определен как Агрегаты.

STARTSWITH

#строковая

Позволяет проверить наличие подстроки в начале строки учитывая регистр написания.

Возвращает 1 (true), если string начивается с substring. Это регистрозависимая проверка.

STARTSWITH  (
                string,
                substring
            )

Тип данных string: Логический, Дата, Число (дробное), Число (целое), Строка

Тип данных substring: Строка

Похожие: CONTAINS | ENDSWITH | IENDSWITH | ICONTAINS | ISTARTSWITH | LEFT | RIGHT | SUBSTR

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Отметить 1 строки, где первая категория Furniture.

Формула:

STARTSWITH  (
                [category], 
                'Furniture'
            )

Результат:

STARTSWITH

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

STARTSWITH_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_check (проверка категории), в Промежутоное значение указана формула STARTSWITH ([category], 'Furniture').

STARTSWITH_step2

4.Расчетный агрегат Category_check (проверка категории) определен как Агрегаты.

SUBSTR

#строковая

Позволяет получить подстроку заданной длины из строки, начиная с заданного символа.

Возвращает часть из string начиная с позиции index. Параметр number задает длину возвращаемой строки.

SUBSTR  (
            string,
            index,
            number
        )

Тип данных string: Строка

Тип данных index и number: Число (целое)

Похожие: CONTAINS | ENDSWITH | IENDSWITH | ICONTAINS | ISTARTSWITH | STARTSWITH | LEFT | RIGHT | REGEXP_EXTRACT | REGEXP_REPLACE | REPLACE

Исходные данные: Доступны данные по клиенту: номер в системе и телефон.

Цель: Получить номер клиента.

Формула:

SUBSTR  (
            [clients], 
            2,
            2
        )

Результат:

SUBSTR

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Clients (клиент) определено как Группы.

SUBSTR_step1

3.В Расчетные агрегаты добавлен новый агрегат Clients_number (номер клиента), в Промежутоное значение указана формула SUBSTR ([clients], 2, 2).

SUBSTR_step2

4.Расчетный агрегат Clients_number (номер клиента) определен как Агрегаты.

TRIM

#строковая

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

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

TRIM    (
            string
        )

Тип данных string: Строка

Похожие: RTRIM | LTRIM

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Удалить лишние пробелы в начале и конце строки.

Формула:

TRIM    (
            [category]
        )

Результат:

TRIM

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

TRIM_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_edit (категории товаров), в Промежутоное значение указана формула TRIM ([category]).

TRIM_step2

4.Расчетный агрегат Category_edit (категории товаров) определен как Агрегаты.

UPPER

#строковая

Позволяет привести написание строки к верхнему регистру (заглавные буквы).

Возвращает string в верхнем регистре.

UPPER   (
            string
        )

Тип данных string: Строка

Похожие: LOWER

Исходные данные: Доступны данные по категориям товаров в заказах.

Цель: Привести написание категорий к верхнему регистру.

Формула:

UPPER   (
            [category]
        )

Результат:

UPPER

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

UPPER_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_edit (категории товаров), в Промежутоное значение указана формула UPPER ([category]).

UPPER_step2

4.Расчетный агрегат Category_edit (категории товаров) определен как Агрегаты.

UTF8

#строковая

Позволяет преобразовать строку в UTF-8.

Возвращает string в кодировке UTF-8 из кодировки encoding.

UTF8    (
            string,
            encoding
        )

Тип данных string и encoding: Строка

Исходные данные: Доступны данные по категориям товаров в заказах в кодировке CP-1251.

Цель: Привести написание категорий в кодировку UTF-8.

Формула:

UTF8    (
            [category],
            'CP-1251'
        )

Результат:

UTF8

Подробнее

1.В виджете на вкладке Вид выбрана таблица агрегатов.

2.На вкладке Данные поле Category (категории) определено как Группы.

UTF8_step1

3.В Расчетные агрегаты добавлен новый агрегат Category_edit (категории товаров), в Промежутоное значение указана формула UTF8 ([category]).

UTF8_step2

4.Расчетный агрегат Category_edit (категории товаров) определен как Агрегаты.