# Interval#Функция скрипта и диаграммы

Interval#() преобразует текстовое выражение в интервал времени в формате, установленном в операционной системе (по умолчанию) или в формате, указанном во втором аргументе, если имеется.

Синтаксис:

Interval#(text[, format])

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

Аргументы

| Аргумент | Описание |
| --- | --- |
| text | Текстовая строка для оценки. |
| format | Строка, описывающая ожидаемый формат ввода для использования при преобразовании строки в числовой интервал.<br><br>Если пропущено, то используется формат времени и десятичный разделитель, заданные в операционной системе.<br><br>Функция `Interval#` поддерживает много вариантов формата для различных структур времени, например:<br><br>​`hh:mm` ― простые часы и минуты<br><br>​`hh:mm:ss` ― часы, минуты и секунды<br><br>​`d hh:mm` ― дни, часы и минуты<br><br>[Описания для форматов числа и времени](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm)​ |

Функция Interval# преобразует текстовый интервал времени в числовой.

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

| Пример | Результат |
| --- | --- |
| `Interval#( '12:30', 'hh:mm' )` | Возвращает числовое значение `0.5208`, которое при переводе в дробное представление дня составляет 12.5 часа. |
| `Interval#( '1 05', 'd hh' )` | Возвращает числовое представление, эквивалентное `1.2083` дн. |

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/interval_hash.htm)

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

Обзор

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

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

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

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

  * `IntervalValue`

* Предшествующая загрузка, которая использует функцию `Interval#` для преобразования текста в поле `IntervalValue` в число, которое может быть распознано как время.

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

```
Example:
Load *, Interval#(IntervalValue, 'D hh') as FormattedIntervalValue;
Load * inline [
IntervalValue
1 05
2 15
1 09
];
```

Результаты

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

* ` IntervalValue
                                       `

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

* `=Num(FormattedIntervalValue)`, чтобы просмотреть значение в виде числа после его обработки в скрипте загрузки с помощью функции `Interval#`.

* `=Interval(FormattedIntervalValue, 'dd:hh:mm')`, чтобы просмотреть значение в виде интервала с использованием формата, заданного в функции.

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

| IntervalValue | Num(FormattedIntervalValue) | Interval(FormattedIntervalValue, 'dd:hh:mm' |
| --- | --- | --- |
| 1 05 | 1.2083333333333 | 01:05:00 |
| 1 09 | 1.375 | 01:09:00 |
| 2 15 | 2.625 | 02:15:00 |

Результаты демонстрируют, как функция `Interval#` преобразует значения в число, которое затем может быть отображено с использованием заданного параметра формата. Например, в столбце `IntervalValue` значение `2 15` преобразуется в число в предшествующей загрузке (поле `FormattedIntervalValue`). Во втором столбце используется функция `Num`, чтобы показать это преобразованное значение в виде числа, `2.625`. В третьем столбце используется функция `Interval` для форматирования этого числа в днях, часах и минутах, отображая его как `02:15:00` или 2 дня 15 часов.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/interval_hash.htm)

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

Обзор

Набор данных о запросе в службу поддержки содержит поле, в котором смешаны текст и время, например `2 days 04 hours`. Требуется преобразовать эти значения в обычные значения времени.

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

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

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

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

  * `TicketID`
  * `ResolutionTime`

* Предшествующая загрузка, которая использует функцию `Interval#` для преобразования текста в поле `ResolutionTime` в число, которое может быть распознано как время.

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

```
Example:
Load *, Interval#(ResolutionTime, 'd "days" hh "hours"') as FormattedResolutionTime;
Load * inline [
TicketID, ResolutionTime
Ticket A, 2 days 04 hours
Ticket B, 2 days 06 hours
Ticket C, 3 days 10 hours
];
```

Результаты

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

* `TicketID`
* `ResolutionTime`

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

* `=Interval(FormattedResolutionTime, 'dd:hh')`, чтобы преобразовать значения в нужный формат с двойным значением.

* `=Num(FormattedResolutionTime)`, чтобы показать числовые значения поля.

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

| ID билета | ResolutionTime | Interval(FormattedResolutionTime, 'dd hh') | Num(FormattedResolutionTime) |
| --- | --- | --- | --- |
| Ticket A (Запрос A) | 2 days 04 hours | 02 04 | 2.1666666666667 |
| Ticket B (Запрос B) | 2 days 06 hours | 02 06 | 2.25 |
| Ticket C (Запрос С) | 3 days 10 hours | 03 10 | 3.4166666666667 |

Результаты показывают, как можно использовать функцию `Interval#` для преобразования значений в число, а затем отобразить их в более типичном формате времени. Например, `Ticket B` имеет время разрешения `2 days 06 hours`. Например, в столбце значение преобразуется в число в предшествующей загрузке (поле `FormattedResolutionTime`). Новое значение отображается как `02 06` (2 дня и 6 часов) при форматировании с помощью функции `Interval` в столбце 3. В столбце 4 функция `Num` отображает числовое значение как `2.25`.

## Подробнее

* [Time#Функция скрипта и диаграммы](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/time_hash.htm)