Перейти к основному содержимому Перейти к дополнительному содержимому

SubField — функция скриптa и диаграммы

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

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

Если используется функция Subfield() в операторе LOAD и дополнительный параметр field_no не указан, для каждой подстроки будет создана одна полная запись. Если с помощью функции Subfield() загружено несколько полей, будет создано декартово произведение всех возможных комбинаций.

Синтаксис:  

SubField(text, delimiter[, field_no ])

Возвращаемые типы данных: string

Аргументы
Аргумент Описание
text Оригинальная строка. Это может быть неизменяемый текст, переменная, расширение со знаком доллара или другое выражение.
delimiter Символ во входной строке text, разделяющий строку на части.
field_no

Дополнительный третий аргумент, являющийся целым числом, который указывает, какие подстроки родительской строки text необходимо вернуть. Используйте значение 1 для возврата первой подстроки, значение 2 для возврата второй подстроки и так далее.

  • Если field_no является положительным значением, подстроки извлекаются слева направо.
  • Если field_no является отрицательным значением, подстроки извлекаются справа налево.
Примечание к подсказке Функцию SubField() можно использовать вместо сложных комбинаций таких функций, как Len(), Right(), Left(), Mid() и другие строковые функции.
Примеры. Выражения диаграммы
Пример Результат
SubField( 'abc;cde;efg', ';' ,2 ) Возвращает cde
SubField( Null, ';' ,1 ) Возвращает пустую строку
SubField( ';', ';' ,1 ) Возвращает пустую строку

SubField( '\Users\ext_jrb\Documents\Qlik\Sense\Apps;','\',-3 )

Возвращает Qlik

Пример. Основы использования функции SubField

Пример. Сценарий использования SubField

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!