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

この関数は、timestamp が base\_date のミリ秒単位まで正確に base\_date を含む年の範囲内にある場合、True を返します。

構文:

InYearToDate (timestamp, base\_date, period\_no[, first\_month\_of\_year])

戻り値データ型： ブール値

情報メモ

Qlik Sense では、真のブール値は -1 で表現され、偽の値は 0 で表現されます。

inyeartodate 関数の図

inyeartodate 関数の図

inyeartodate 関数の図 ![inyeartodate 関数が TRUE の値を返す日付範囲の例の図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-general.png)

`inyeartodate()` 関数は `base_date` でその年度の特定の部分を分割し、その年度セグメントの最大許容日付の両方を識別します。関数は、日付項目または値がこのセグメントに該当するかどうかを評価し、ブール値の結果を返します。

引数

| 引数 | 説明 |
| --- | --- |
| timestamp | base\_date と比較する日付。 |
| base\_date | 年の評価に使用する日付。 |
| period\_no | 年は period\_no によって補正することができます。period\_no は整数で、値 0 は base\_date を含む年を示します。period\_no の値が負の場合は過去の年を、正の場合は将来の年を示します。 |
| first\_month\_of\_year | 事業年度が 1 月以外の月に始まる場合は、first\_month\_of\_year で 2 から 12 の間の値を指定します。 |

## 使用に適しているケース

`inyeartodate()` 関数はブール値の結果を返します。通常、このタイプの関数は `if` 式の条件として使用されます。これにより、評価される日付が問題の日付を含む年度に発生したかどうかに応じて、集計または計算を返します。

例えば、`inyeartodate()` 関数を使用して、特定の日付を含む年度に製造されたすべての機器を識別することができます。

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

関数の例

| 例 | 結果 |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | `TRUE` を返します。 |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | `FALSE` を返します。 |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | `TRUE` を返します。 |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | `TRUE` を返します。<br>`timestamp` の値は、4 番目の月から始まる会計年度かつ `base_date` の値までの範囲内です。 |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | `FALSE` を返します。<br>上の例との違いは、`timestamp` の値が会計年度内ではあるものの `base_date` の値の後になることです。そのため、範囲外になります。 |

## リージョンの設定

特に指定のない限り、このトピックの例では MM/DD/YYYY の日付書式を使用しています。 日付書式は、データ ロード スクリプトの `SET DateFormat` ステートメントで指定されています。既定の日付書式は、リージョンの設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。

アプリケーションの既定の地域設定は、Qlik Sense がインストールされているコンピューターまたはサーバーの地域システム設定に基づいています。アクセスしている Qlik Sense サーバーがスウェーデンに設定されてい場合、データ ロード エディターは、日付、時間、および通貨にスウェーデンの地域設定を使用します。これらのリージョンの書式設定は、Qlik Sense ユーザー インターフェースに表示される言語とは関係ありません。Qlik Sense は使用しているブラウザと同じ言語で表示されます。

## 例 1 – 追加の引数なし

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

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

概要

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

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

* `Transactions` というテーブルにロードされる、2020 年～2022 年の一連のトランザクションを含むデータセット。

* `DateFormat` システム変数形式 (MM/DD/YYYY) で提供されている日付項目。

* 2021 年 7 月 26 日までの年に発生したトランザクションを決定する項目 [`in_year_to_date`] の作成。

ロード スクリプト

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0) as in_year_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'01/13/2020',37.23
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'07/27/2021',25.12
8204,'06/06/2022',46.23
8205,'07/18/2022',84.21
8206,'11/14/2022',96.24
8207,'12/12/2022',67.67
];
```

結果

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

* `date`

* `in_year_to_date`

結果テーブル

| date | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

[`in_year_to_date`] 項目は、`inyeartodate()` 関数を使用して、先行する LOAD ステートメントで作成されます。提供される最初の引数は、評価される項目を識別します。

2 番目の引数は、2021 年 7 月 26 日のハードコード化された日付です。これは `base_date` で、その年セグメントの終了境界を定義します。 `period_no` の 0 は最後の引数です。つまり、関数がセグメント化された年の前後の年を比較していないということです。

inyeartodate 関数の図、追加の引数なし

inyeartodate 関数の図、追加の引数なし

inyeartodate 関数の図、追加の引数なし![inyeartodate 関数が TRUE の値を返す日付範囲の例の図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-no-additional-arguments.png)

1 月 1 日～7 月 26 日に発生したトランザクションは、`TRUE` のブール値の結果を返します。2021 年より前で 2021 年 7 月 26 より後のトランザクション日付は `FALSE`を返します。

## 例 2 – period\_no

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

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

概要

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

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

* 最初の例と同じデータセットとシナリオ。

* 2021 年 7 月 26 日に終了する週セグメント前の年全体で発生したトランザクションを決定する項目 [`previous_year_to_date`] の作成。

ロード スクリプト

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', -1) as previous_year_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'01/13/2020',37.23
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'07/27/2021',25.12
8204,'06/06/2022',46.23
8205,'07/18/2022',84.21
8206,'11/14/2022',96.24
8207,'12/12/2022',67.67
];
```

結果

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

* `date`

* `previous_year_to_date`

結果テーブル

| date | previous\_year\_to\_date |
| --- | --- |
| 01/13/2020 | -1 |
| 02/26/2020 | -1 |
| 03/27/2020 | -1 |
| 04/16/2020 | -1 |
| 05/21/2020 | -1 |
| 06/14/2020 | -1 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | 0 |
| 04/23/2021 | 0 |
| 05/04/2021 | 0 |
| 06/30/2021 | 0 |
| 07/26/2021 | 0 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

`period_no` 値 -1 は、`inyeartodate ()` 関数が入力年セグメントを前の年と比較することを示します。入力日が 2021 年 7 月 26 日の場合、2021 年 1 月 1 日～2021 年 7 月 26 日のセグメントが最初に年初来として識別されました。`period_no` は、このセグメントを 1 年前にオフセットし、日付の境界を 2020 年 1 月 1 日～7 月 26 日にします。

inyeartodate 関数の図、period\_no の例

inyeartodate 関数の図、period\_no の例

inyeartodate 関数の図、period\_no の例![inyeartodate 関数が TRUE の値を返す日付範囲の例の図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-period-no.png)

したがって、1 月 1 日～7 月 26 日に発生したトランザクションは、`TRUE`のブール値の結果を返します。

## 例 3 – first\_month\_of\_year

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

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

概要

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

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

* 最初の例と同じデータセットとシナリオ。

* 2021 年 7 月 26 日までの同年に発生したトランザクションを決定する項目 [`in_year_to_date`] の作成。

この例では、3 月を会計年度の最初の月として設定します。

ロード スクリプト

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0,3) as in_year_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'01/13/2020',37.23
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'07/27/2021',25.12
8204,'06/06/2022',46.23
8205,'07/18/2022',84.21
8206,'11/14/2022',96.24
8207,'12/12/2022',67.67
];
```

結果

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

* `date`

* `in_year_to_date`

結果テーブル

| date | in\_year\_to\_date |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 01/22/2021 | 0 |
| 02/03/2021 | 0 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

`inyeartodate()` 関数で `first_month_of_year` 引数に 3 を使用すると、関数は 3 月 1 日に年度を開始します。2021 年 7 月 26 日の `base_date` は、その年のセグメントの終了日を設定します。

inyeartodate 関数の図、first\_month\_of\_year の例

inyeartodate 関数の図、first\_month\_of\_year の例

inyeartodate 関数の図、first\_month\_of\_year の例![inyeartodate 関数が TRUE の値を返す日付範囲の例の図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-first-mth-yr.png)

したがって、2021 年 3 月 1 日～7 月 26 日に発生したトランザクションは `TRUE` のブール値の結果を返しますが、これらの境界外の日付のトランザクションは `FALSE` の値を返します。

## 例 4 – チャート オブジェクトの例

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

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

概要

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

ロード スクリプトには、最初の例と同じデータセットとシナリオが含まれます。ただし、この例では、変更されていないデータセットがアプリケーションにロードされます。トランザクションが 2021 年 7 月 26 日までの年と同年に発生したかどうかを判断する計算は、アプリケーションのチャート オブジェクトのメジャーとして作成されます。

ロード スクリプト

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'06/14/2020',82.06 
8194,'08/07/2020',40.39 
8195,'09/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'07/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/2022',67.67
];
```

結果

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

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

=inyeartodate(date,'07/26/2021', 0)

結果テーブル

| date | =inyeartodate(date,'07/26/2021', 0) |
| --- | --- |
| 01/13/2020 | 0 |
| 02/26/2020 | 0 |
| 03/27/2020 | 0 |
| 04/16/2020 | 0 |
| 05/21/2020 | 0 |
| 06/14/2020 | 0 |
| 08/07/2020 | 0 |
| 09/05/2020 | 0 |
| 01/22/2021 | -1 |
| 02/03/2021 | -1 |
| 03/17/2021 | -1 |
| 04/23/2021 | -1 |
| 05/04/2021 | -1 |
| 06/30/2021 | -1 |
| 07/26/2021 | -1 |
| 07/27/2021 | 0 |
| 06/06/2022 | 0 |
| 07/18/2022 | 0 |
| 11/14/2022 | 0 |
| 12/12/2022 | 0 |

in\_year\_to\_date メジャーは、 inyeartodate() 関数を使用してチャート オブジェクトに作成されます。提供される最初の引数は、評価される項目を識別します。2 番目の引数は、2021 年 7 月 26 日のハードコード化された日付です。これは base\_date で、その比較年セグメントの終了境界を定義します。 period\_no の 0 は最後の引数です。つまり、関数がセグメント化された年の前後の年を比較していないということです。

inyeartodate 関数の図、チャート オブジェクトの例

inyeartodate 関数の図、チャート オブジェクトの例

inyeartodate 関数の図、チャート オブジェクトの例![inyeartodate 関数が TRUE の値を返す日付範囲の例の図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-chart-object.png)

2021 年 1 月 1 日～7 月 26 日に発生したトランザクションは、TRUE のブール値の結果を返します。2021 年より前で 2021 年 7 月 26 より後のトランザクション日付は FALSEを返します。

## 例 5 – シナリオ

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

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

概要

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

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

* 「Products」というテーブルにロードされるデータセット。

* 製品 ID、製品タイプ、製造年月日、原価に関する情報。

エンド ユーザーは、2021 年に製造された製品の 7 月 26 日までのコストを製品タイプ別に表示するチャート オブジェクトを望んでいます。

ロード スクリプト

```
Products:
Load
*
Inline
[
product_id,product_type,manufacture_date,cost_price
8188,product A,'01/13/2020',37.23
8189,product B,'02/26/2020',17.17
8190,product B,'03/27/2020',88.27
8191,product C,'04/16/2020',57.42
8192,product D,'05/21/2020',53.80
8193,product D,'08/14/2020',82.06
8194,product C,'10/07/2020',40.39
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93
8197,product B,'02/03/2021',45.89
8198,product C,'03/17/2021',36.23
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77
8201,product D,'06/30/2021',69.98
8202,product D,'07/26/2021',76.11
8203,product D,'12/27/2021',25.12
8204,product C,'06/06/2022',46.23
8205,product C,'07/18/2022',84.21
8206,product A,'11/14/2022',96.24
8207,product B,'12/12/2022',67.67
];
```

結果

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

7 月 27 日より前、2021 年に製造された各製品の合計を計算するメジャーを作成します。

=sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0))

メジャーの [数値書式] を [通貨] に設定します。

結果テーブル

| product\_type | =sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0)) |
| --- | --- |
| 製品 A | $95.93 |
| 製品 B | $128.66 |
| 製品 C | $61.89 |
| 製品 D | $146.09 |

inyeartodate() 関数は、各製品の製造日を評価するときにブール値を返します。7 月 27 日まで、2021 年に製造された製品の場合、inyeartodate() 関数はブール値 TRUE を返し、cost\_price. の合計を算出します。

製品 D は、2021 年 7 月 26 日より後に製造された唯一の製品でもあります。 product\_ID 8203 のエントリは、12 月 27 日に製造され、コストは $25.12 でした。したがって、このコストはチャート オブジェクトの製品 D の合計には含まれません。