# 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-TW/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-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/time_hash.htm)