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

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

Интервалы можно форматировать как время, дни или комбинацию дней, часов, минут, секунд и долей секунд.

Синтаксис:

Interval(number[, format])

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

Аргументы

| Аргумент | Описание |
| --- | --- |
| number | Число для изменения формата. |
| format | Строка, описывающая, как будет отформатирована полученная строка интервала. Если пропущено, то используется формат времени и десятичный разделитель из операционной системы. Если пропущено, то используется формат времени и десятичный разделитель из операционной системы.<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( 0.375 )` | Возвращает `9:00:00`, когда `TimeFormat` имеет значение `h:mm:ss`. |
| `Interval(.375​, 'hh:mm' )` | Возвращает `9:00`, когда в функции задан формат `hh.mm`. |
| `Interval( 0.375​, 'd hh' )` | Возвращает `0 09`, когда в функции задан формат `d hh`. |

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

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

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

Обзор

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

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

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

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

  * `IntervalValue`

* Переменная `TimeFormat`, которая использует формат `h:mm:ss`.

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

```
SET TimeFormat='h:mm:ss';
Example:
Load * inline [
IntervalValue
0.375
1.375
35.648
36.875
368.75
468.95
];
```

Результаты

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

* ` IntervalValue
                                       `

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

* `=Interval(IntervalValue)`, чтобы просмотреть значение в виде интервала, используя системный параметр.

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

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

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

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

| IntervalValue | Interval(IntervalValue) | Interval(IntervalValue, 'd hh') | Interval(IntervalValue, 'hh:mm' | Interval(IntervalValue, 'd hh:mm') |
| --- | --- | --- | --- | --- |
| 0,375 | 9:00:00 | 0 09 | 09:00 | 0 09:00 |
| 1.375 | 33:00:00 | 1 09 | 33:00 | 1 09:00 |
| 35.648 | 855:33:07 | 35 15 | 855:33 | 35 15:33 |
| 36.875 | 885:00:00 | 36 21 | 885:00 | 36 21:00 |
| 368.75 | 8850:00:00 | 368 18 | 8850:00 | 368 18:00 |
| 468.95 | 11254:48:00 | 468 22 | 11254:48 | 468 22:48 |

Результаты показывают, как функция `Interval` отображает значения в соответствии с параметром формата в функции. Например, в последней строке значение `468.95`, при форматировании с помощью функции `Interval` и параметра формата `d hh:mm`, возвращает значение `468` дней, `22` часа и `48` минут.

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

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

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

Обзор

Данные о запросах в службу поддержки позволяют рассчитать время разрешения одного запроса в секундах. Требуется преобразовать это значение в другой формат.

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

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

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

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

  * `TicketID`
  * `ResolutionTime`

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

```
Example:
Load * inline [
TicketID, ResolutionTime
Ticket A, 4350
Ticket B, 560
Ticket C, 86400
];
```

Результаты

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

* ` TicketID
                                       `

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

* `=Interval(ResolutionTime / 86400, 'hh:mm:ss')`, чтобы преобразовать значения в дни, разделив `ResolutionTime` на `86,400`, а затем отформатировав их с использованием формата, заданного в функции.

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

| ID билета | Interval(ResolutionTime / 86400, 'hh:mm:ss') |
| --- | --- |
| Ticket A (Запрос A) | 01:12:30 |
| Ticket B (Запрос B) | 00:09:20 |
| Ticket C (Запрос С) | 24:00:00 |

Значения времени разрешения, которые первоначально были представлены в секундах, теперь преобразуются в доли дня, а затем форматируются в часах, минутах и секундах. Например, в таблице показано, что решение `Ticket B` заняло `9` часов и `20` минут.