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

Len() возвращает длину входной строки.

Синтаксис:

Len(text)

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

Аргументы

| Аргумент | Описание |
| --- | --- |
| text | Текстовая строка для оценки. |

Пример: выражение диаграммы

| Пример | Результат |
| --- | --- |
| `Len('Peter')` | Возвращает `5` |

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Len.htm)

#### Выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Одно поле в таблице данных под именем `CustomerComment`. Поле содержит исходную текстовую строку для оценки.

Скрипт загрузки

```
Example:
Load  * inline [
CustomerComment
Please deliver after 5 PM.
Thank you for the quick service!
Can you add a gift wrap?
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:

* ` CustomerComment
                                   `

Создайте следующую меру:

* `=Len(CustomerComment)`

Результирующая таблица

| CustomerComment | Len(CustomerComment) |
| --- | --- |
| Can you add a gift wrap? (Можно добавить подарочную упаковку?) | 24 |
| Please deliver after 5 PM. (Пожалуйста, доставьте после 17:00). | 26 |
| Thank you for the quick service! (Спасибо за быстрое обслуживание!) | 32 |

Вывод меры `Len(CustomerComment)` возвращает длину входной строки `CustomerComment`.

## Пример. Сценарий использования функции Len

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Len.htm)

#### Выражение диаграммы

Обзор

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

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Следующие поля в таблице данных:

  * `TicketID`

  * `Description`

Скрипт загрузки

```
Example:
Load * inline [
TicketID, Description
1001, "I received the wrong product."
1002, "The package arrived damaged, and I would like a replacement."
1003, "I've been trying to reset my password for two days, and I haven't received an email."
1004, "My order status shows 'Delivered' but I have not received my package yet."
1005, "Is product XYZ available in size Large?"
1006, "I need help with an exchange for a faulty product, and I've attached photos."
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* ` TicketID
                                   `

* `Description`

Создайте следующее вычисляемое измерение:

* `=If(Len(Description) < 30, 'Short',If(Len(Description) <= 50, 'Medium', 'Long'))`, чтобы рассчитать и назначить категорию (Short, Medium, Long) билету на основе длины описания.

Результирующая таблица

| TicketID | Описание | If(Len(Description) &lt; 30, 'Short',If(Len(Description) &lt;= 50, 'Medium', 'Long')) |
| --- | --- | --- |
| 1001 | I received the wrong product. | Short |
| 1002 | The package arrived damaged, and I would like a replacement. (Посылка пришла поврежденной, и я хотел бы получить замену.) | Long (Длинный) |
| 1003 | I've been trying to reset my password for two days, and I haven't received an email. (Я пытаюсь восстановить свой пароль уже два дня, но так и не получил письмо.) | Long (Длинный) |
| 1004 | Is product XYZ available in size Large? | Medium |
| 1005 | My order status shows 'Delivered' but I have not received my package yet. (Для моего заказа отображается статус «Доставлен», но я еще не получил свою посылку.) | Long |
| 1006 | I need help with an exchange for a faulty product, and I've attached photos. (Мне нужна помощь в обмене бракованного товара, и я прилагаю фотографии.) | Long |

Вывод вычисляемого измерения показывает, как можно использовать функцию `Len` для категоризации данных путем интерпретации длины текстовых строк.

## Пример. Сценарий использования функции Len, включающий манипуляцию со строками

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Len.htm)

#### Выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Одно поле в таблице данных под именем `InputText`.

Скрипт загрузки

```
Example:
Load  * inline [
InputText
this is a sample text string
capitalize first letter only
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:

* ` InputText
                                   `

Создайте следующие вычисляемые измерения:

* 

  ` =Upper(Left(InputText,1))  `, чтобы преобразовать первую букву текстовой строки в верхний регистр.

* 

  `=Mid(InputText,Len(upper(Left(InputText,1)))+1)`, чтобы удалить первую букву из текстовой строки.

* 

  `=Upper(left(InputText,1)) & Mid(InputText,len(upper(left(InputText,1)))+1)`, чтобы объединить вывод первого вычисляемого измерения с выводом второго вычисляемого измерения.

Результирующая таблица

| InputText | Upper(Left(InputText,1)) | Mid(InputText,Len(upper(Left(InputText,1)))+1) | Upper(left(InputText,1)) & mid(InputText,len(upper(left(InputText,1)))+1) |
| --- | --- | --- | --- |
| this is a sample text string | T (Э) | his is a sample text string (то пример текстовой строки) | This is a sample text string (Это пример текстовой строки) |
| capitalize first letter only (сделать заглавной только первую букву) | C | apitalize first letter only | Capitalize first letter only |

В первом вычисляемом измерении функции ` Upper  ` и ` Left  ` объединяются, чтобы вернуть первую букву `InputText` в верхнем регистре. Во втором вычисляемом измерении функция `Mid` использует функцию `Len`, чтобы вернуть текстовую строку, в которой удален первый символ из `InputText`. Третье вычисляемое измерение объединяет первое и второе вычисляемые измерения и возвращает строку `InputText` с первым символом в верхнем регистре.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Len.htm)

#### Скрипт загрузки

В этом примере используются те же функции (Upper, Mid и Len), что и в сценарии с выражением диаграммы. Скрипт загрузки создает новое поле, NewInputText, которое возвращает InputText с первым символом в верхнем регистре.

```
Example:
Load InputText, First&Second as NewInputText;
Load *, mid(InputText,len(First)+1) as Second;
Load *, upper(left(InputText,1)) as First;
Load  * inline [
InputText
this is a sample text string
capitalize first letter only ];
```

Результирующая таблица

| InputText | NewInputText |
| --- | --- |
| this is a sample text string | This is a sample text string |
| capitalize first letter only | Capitalize first letter only |