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

この関数は、タイムスタンプの年の日番号を計算します。計算は、年の初日の最初のミリ秒から行われますが、最初の月を補正することもできます。

構文:

DayNumberOfYear(timestamp[,start\_month])

戻り値データ型： integer

引数

| 引数 | 説明 |
| --- | --- |
| timestamp | 評価する日付またはタイムスタンプ。 |
| start\_month | start\_month を 2 から 12 の間で指定することで (省略した場合は 1)、年の開始時点を任意の月の初日に移動することができます。例えば、会計年度を 3 月 1 日から開始する場合には、start\_month = 3 と指定します。 |

これらの例は、日付書式 DD/MM/YYYY を使用しています。日付書式は、データ ロード スクリプト上部の SET DateFormat ステートメントで指定されています。必要に応じて、書式を変更してください。

関数の例

| 例 | 結果 |
| --- | --- |
| `DayNumberOfYear( '12/09/2014' )` | 年の初めからカウントした日番号である 256 を返します。 |
| `DayNumberOfYear( '12/09/2014',3 )` | 3 月 1 日からカウントした日番号である 196 を返します。 |

## 例 1 – 年の開始が 1 月 (スクリプト)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofyear.htm)

#### ロード スクリプトと結果

概要

データ ロード エディター を開き、以下のロード スクリプトを新しいタブに追加します。

ロード スクリプトには次が含まれています:

* `Calendar` という名前のテーブルにロードされる日付のリストを含む単純なデータセット。既定の `DateFormat` システム変数 MM/DD/YYYY が使用されます。

* `DayNumberOfYear()` 関数を使用して `daynryear` という名前の追加項目を作成する、先行する LOAD。

日付を除いて、関数に追加のパラメータは提供されません。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY'; 

Calendar: 
Load 
	date, 
	DayNumberOfYear(date) as daynryear
	;
Load
date
Inline
[ 
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
];				
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `date`

* `daynryear`

結果テーブル

| 日付 | daynryear |
| --- | --- |
| 01/01/2022 | 1 |
| 01/10/2022 | 10 |
| 01/31/2022 | 31 |
| 02/01/2022 | 32 |
| 02/10/2022 | 41 |
| 06/30/2022 | 182 |
| 07/26/2022 | 208 |
| 10/31/2022 | 305 |
| 11/01/2022 | 306 |
| 12/31/2022 | 366 |

`DayNumberOfYear()` 関数に 2 番目の引数が渡されなかったため、年の最初の日は 1 月 1 日です。

1 月 1 日は四半期の 1 日目であり、2 月 1 日は年の 32 日目です。6 月 30 日はその年の 182 日目であり、12 月 31 日はその年の 366 日目で最終日です。

## 例 2 – 年の開始が 11 月 (スクリプト)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofyear.htm)

#### ロード スクリプトと結果

概要

データ ロード エディター を開き、以下のロード スクリプトを新しいタブに追加します。

ロード スクリプトには次が含まれています:

* 最初の例と同じデータセット。

* 既定の `DateFormat` システム変数 MM/DD/YYYY が使用されます

* 11 月 1 日から始まる `start_month` 引数。これにより、会計年度が 11 月 1 日に設定されます。

ロード スクリプト

```

SET DateFormat='MM/DD/YYYY'; 

Calendar: 
Load 
	date, 
	DayNumberOfYear(date,11) as daynryear
	;
Load
date
Inline
[ 
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
];				
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `date`

* `daynryear`

結果テーブル

| 日付 | daynryear |
| --- | --- |
| 01/01/2022 | 62 |
| 01/10/2022 | 71 |
| 01/31/2022 | 92 |
| 02/01/2022 | 93 |
| 02/10/2022 | 102 |
| 06/30/2022 | 243 |
| 07/26/2022 | 269 |
| 10/31/2022 | 366 |
| 11/01/2022 | 1 |
| 12/31/2022 | 61 |

`DayNumberOfYear()` 関数に渡された 2 番目の引数が 11 であったため、年の最初の日は 11 月 1 日です。

1 月 1 日は四半期の 1 日目であり、2 月 1 日は年の 32 日目です。6 月 30 日はその年の 182 日目であり、12 月 31 日はその年の 366 日目で最終日です。

## 例 3 – 年の開始が 1 月 (チャート)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofyear.htm)

#### ロード スクリプトとチャートの数式

概要

データ ロード エディター を開き、以下のロード スクリプトを新しいタブに追加します。

ロード スクリプトには次が含まれています:

* 最初の例と同じデータセット。

* 既定の `DateFormat` システム変数 MM/DD/YYYY が使用されます。

ただし、この例では、変更されていないデータセットがアプリケーションにロードされます。四半期の日付の値は、チャート オブジェクトのメジャーを介して計算されます。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';
						
Calendar:
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
]; 
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します: `date`。

次のメジャーを作成します:

`=daynumberofyear(date)`

結果テーブル

| 日付 | =daynumberofyear(date) |
| --- | --- |
| 01/01/2022 | 1 |
| 01/10/2022 | 10 |
| 01/31/2022 | 31 |
| 02/01/2022 | 32 |
| 02/10/2022 | 41 |
| 06/30/2022 | 182 |
| 07/26/2022 | 208 |
| 10/31/2022 | 305 |
| 11/01/2022 | 306 |
| 12/31/2022 | 366 |

`DayNumberOfYear()` 関数に 2 番目の引数が渡されなかったため、年の最初の日は 1 月 1 日です

1 月 1 日は年の 1 日目であり、2 月 1 日は年の 32 日目です。6 月 30 日はその年の 182 日目であり、12 月 31 日はその年の 366 日目で最終日です。

## 例 4 – 年の開始が 11 月 (チャート)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofyear.htm)

#### ロード スクリプトとチャートの数式

概要

データ ロード エディター を開き、以下のロード スクリプトを新しいタブに追加します。

ロード スクリプトには次が含まれています:

* 最初の例と同じデータセット。

* 既定の DateFormat システム変数 MM/DD/YYYY が使用されます。

* 会計年度は 11 月 1 日から 10 月 31 日までです。

ただし、この例では、変更されていないデータセットがアプリケーションにロードされます。年の日付の値は、チャート オブジェクトのメジャーを介して計算されます。

ロード スクリプト

```

SET DateFormat='MM/DD/YYYY';
Calendar:
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
]; 
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します: date。

次のメジャーを作成します:

=daynumberofyear(date)

結果テーブル

| 日付 | =daynumberofyear(date,11) |
| --- | --- |
| 01/01/2022 | 62 |
| 01/10/2022 | 71 |
| 01/31/2022 | 92 |
| 02/01/2022 | 93 |
| 02/10/2022 | 102 |
| 06/30/2022 | 243 |
| 07/26/2022 | 269 |
| 10/31/2022 | 366 |
| 11/01/2022 | 1 |
| 12/31/2022 | 61 |

DayNumberOfYear() 関数に渡された 2 番目の引数が 11 であったため、年の最初の日は 11 月 1 日です。

会計年度は 11 月から 10 月までです。これは結果テーブルに示されています。11 月 1 日は年の 1 日目であり、10 月 31 日は年の 366 日目で最後の日です。