# 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/zh-CN/sense/May2026/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/sense/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/sense/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)`，显示字段的数值。

结果表

| TicketID | ResolutionTime | Interval(FormattedResolutionTime, 'dd hh') | Num(FormattedResolutionTime) |
| --- | --- | --- | --- |
| Ticket A | 2 days 04 hours | 02 04 | 2.1666666666667 |
| Ticket 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` 字段）中的数字。当使用第 3 列中的 `Interval` 函数进行格式化时，新值显示为 `02 06`（2 天和 6 小时）。 在第 4 列中，`Num` 函数将其数值显示为 `2.25`。

## 了解详情

* [Time#脚本和图表功能](https://help.qlik.com/zh-CN/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/time_hash.htm)