# Interval#スクリプトおよびチャート関数

Interval#() は、既定では、テキスト表現をオペレーティング システムの書式設定の時間間隔として評価します。ただし、2 番目の引数で書式が指定されている場合は、その書式の時間間隔として評価します。

構文:

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

Interval# 関数は、テキストの時間間隔を数字に変換します。

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `Interval#( '12:30', 'hh:mm' )` | 12.5 時間を日数分率に変換した数値 `0.5208` を返します。 |
| `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` 項目) の数値に変換されます。2 番目の列では、`Num` 関数を使用して、この変換された値を数値 `2.625` として表示します。3 番目の列では、`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)`、項目の数値を表示します。

結果テーブル

| TicketID | ResolutionTime | Interval(FormattedResolutionTime, 'dd hh') | Num(FormattedResolutionTime) |
| --- | --- | --- | --- |
| チケット A | 2 days 04 hours | 02 04 | 2.1666666666667 |
| チケット B | 2 days 06 hours | 02 06 | 2.25 |
| チケット 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/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/time_hash.htm)