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

basedate の最後のミリ秒まで basedate を含む月に date がある場合に True を返します。

構文:

InMonthToDate (timestamp, base\_date, period\_no)

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

`inmonthtodate` 関数の図。

`inmonthtodate` 関数の図。

`inmonthtodate`inmonthtodate 関数の図。 ![inmonthtodate 関数を使用して、タイムスタンプが設定された月に含まれるかどうかを識別する方法を示す図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-diagram1.png)

`inmonthtodate()` 関数は、選択した月をセグメントとして特定します。開始境界は月の始めです。終了境界は、月の後半の日付として設定できます。次に、日付セットがこのセグメントに当てはまるかどうかを決定し、ブール値 TRUE または FALSE を返します。

引数

| 引数 | 説明 |
| --- | --- |
| timestamp | base\_date と比較する日付。 |
| base\_date | 月の評価に使用する日付。 |
| period\_no | 月は period\_no によって補正することができます。period\_no は整数で、値 0 は base\_date を含む月を示します。period\_no の値が負の場合は過去の月を、正の場合は将来の月を示します。 |

使用に適しているケース

`inmonthtodate()` 関数はブール値の結果を返します。通常、このタイプの関数は `if expression` の条件として使用されます。`inmonthtodate()` 関数は、対象の日付を含み、日付がその月に発生したかどうかに応じて、集計または計算を返します。

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

## リージョンの設定

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

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

関数の例

| 例 | 結果 |
| --- | --- |
| `inmonthtodate ('01/25/2013', '25/01/2013',<br>0)` | True を返します |
| `inmonthtodate ('01/25/2013', '24/01/2013',<br>0)` | False を返します |
| `inmonthtodate ('01/25/2013', '28/02/2013',<br>-1)` | True を返します |

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

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

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

概要

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

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

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

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

* 次を含む先行する LOAD ステートメント:

  * 項目 [`in_month_to_date`] として設定されている `inmonthtodate()` 関数。これは、2022 年の 7 月 1 日～7 月 26 日に発生したトランザクションを決定します。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', 0) as in_month_to_date 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

結果

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

* `date`
* `in_month_to_date`

結果テーブル

| date | in\_month\_to\_date |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

[`in_month_to_date`] 項目は、`inmonthtodate()` 関数を使用して、前の Load ステートメントで作成されます。

最初の引数は、評価される項目を識別します。第 2 引数はハードコード化された日付 7 月 26 日で、これは `base_date` です。この `base_date` 引数は、どの月がセグメント化されるか、そのセグメントの終了境界を特定します。

`0` の `period_no` は最後の引数です。これは、関数がセグメント化された月の前後の月を比較していないことを意味します。

追加の引数がない `inmonthtodate` 関数の図。

追加の引数がない `inmonthtodate` 関数の図。

追加の引数がない `inmonthtodate`inmonthtodate 関数の図。![inmonthtodate 関数により TRUE と識別されたトランザクション範囲を示す図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example1-diagram.png)

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

## 例 2 – period\_no

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

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

概要

最初の例と同じデータセットとシナリオが使用されます。

この例のタスクは、トランザクションが 7 月 1 日～7 月 26 日より 6 か月前に発生するかどうかを決定する項目 [`six_months_prior`] を作成することです。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', -6) as six_months_prior 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

結果

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

* `date`

* `six_months_prior`

結果テーブル

| date | six\_months\_prior |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

`inmonthtodate()` 関数で `-6` を `period_no` 引数として使用することにより、比較対象年度の境界を 6 か月ずらします。最初、月セグメントは 7 月 1 日～7 月 26 日と同値です。次に `period_no` はマイナス 6 か月このセグメントをオフセットし、日付境界が 1 月 1 日～1 月 26 日にずれます。

period\_no が -6 に設定された `inmonthtodate` 関数の図。

period\_no が -6 に設定された `inmonthtodate` 関数の図。

period\_no が -6 に設定された `inmonthtodate`inmonthtodate 関数の図。![period_no 引数が -6 に設定されたトランザクション範囲を示す図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example2-diagram.png)

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

## 例 3 – チャートの例

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

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

概要

最初の例と同じデータセットとシナリオが使用されます。

この例では、データセットは変更されず、アプリケーションにロードされます。タスクは、アプリケーションのチャートのメジャーとして、トランザクションが 7 月 1 日から 7 月 26 日の間に発生したかどうかを判断する計算を作成することです。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

結果

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

`date`

7 月 1 日～7 月 26 日にトランザクションが発生したかどうかを計算するには、次のメジャーを作成します。

`=inmonthtodate(date,'07/26/2022', 0)`

結果テーブル

| date | =inmonthtodate(date,'07/26/2022', 0) |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

[`in_month_to_date`] 項目メジャーは、 `inmonthtodate()` 関数を使用することにより、チャートに作成されます。

最初の引数は、評価される項目を識別します。第 2 引数はハードコード化された日付 7 月 26 日で、これは `base_date` です。この base\_date 引数は、どの月がセグメント化されるか、そのセグメントの終了境界を特定します。`period_no` の 0 が最終引数です。つまり、関数がセグメント化された月の前後の月を比較していないことを意味します。

追加の引数がない `inmonthtodate` 関数の図。

追加の引数がない `inmonthtodate` 関数の図。

追加の引数がない `inmonthtodate`inmonthtodate 関数の図。![7 月 1 日～7 月 26 日のトランザクションの範囲を示す図。](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example3-diagram.png)

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

## 例 4 – シナリオ

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

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

概要

この例では、「`Products`」という名前のテーブルにデータセットがロードされます。テーブルには次の項目が含まれています。

* 製品 ID

* 製造日付

* コスト

2022 年 7 月に製造された商品が、設備の不具合により不良品となっていました。この問題は 2022 年 7 月 27 日に解決されました。

エンド ユーザーは、製造された製品のステータスが「不具合」 (ブール値が TRUE) または「不具合なし」 (ブール値が FALSE) であったこと、およびその月に製造された製品のコストを表示するチャートを希望しています。

ロード スクリプト

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

結果

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

* `=monthname(manufacture_date)`
* `=if(Inmonthtodate(manufacture_date,makedate(2022,07,26),0),'Defective','Faultless')`

製品の合計コストを計算するには、メジャーを作成します。

`=sum(cost_price)`

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

結果テーブル

| monthname(manufacture\_date) | if(Inmonthtodate(manufacture\_date,makedate(2022,07,26),0),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| 2022 年 1 月 | 不具合なし | $54.40 |
| 2022 年 2 月 | 不具合なし | $145.69 |
| 2022 年 3 月 | 不具合なし | $53.80 |
| 2022 年 4 月 | 不具合なし | $82.06 |
| 2022 年 5 月 | 不具合なし | $127.60 |
| 2022 年 6 月 | 不具合なし | $141.82 |
| 2022 年 7 月 | 不具合 | $144.66 |
| 2022 年 7 月 | 不具合なし | $69.98 |
| 2022 年 8 月 | 不具合なし | $147.46 |
| 2022 年 9 月 | 不具合なし | $84.21 |
| 2022 年 10 月 | 不具合なし | $163.91 |

`inmonthtodate()` 関数は、各製品の製造日を評価するときにブール値を返します。

ブール値 TRUE を返す日付については、製品が「不具合あり」とマークされています。FALSE の値を返し、7 月 26 日までの月に製造されなかった製品については、その製品に「不具合なし」のマークが付けられます。