# 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/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm)​ |

示例：图表表达式

| 示例 | 结果 |
| --- | --- |
| `Interval( 0.375 )` | 当 `TimeFormat` 为 `h:mm:ss` 时返回 `9:00:00`。 |
| `Interval(.375​, 'hh:mm' )` | 当函数中提供的格式为 `hh.mm` 时，返回 `9:00`。 |
| `Interval( 0.375​, 'd hh' )` | 当函数中提供的格式为 `d hh` 时，返回 `0 09`。 |

## 示例 - 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` ，然后使用函数提供的格式进行格式化。

结果表

| TicketID | Interval(ResolutionTime / 86400, 'hh:mm:ss') |
| --- | --- |
| Ticket A | 01:12:30 |
| Ticket B | 00:09:20 |
| Ticket C | 24:00:00 |

最初以秒为单位提供的分辨率时间值现在转换为一天的几分之一，然后以小时、分钟和秒为单位进行格式化。例如，表格显示 `Ticket B` 的解决时间为 `9` 小时 `20` 分钟。