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

この関数は、月の初日の最初のミリ秒のタイムスタンプに対応する基底の数値を持つ、月 (MonthNames スクリプト変数に従った書式) および年の表示値を返します。

構文:

MonthName(date[, period\_no])

戻り値データ型： デュアル

monthname 関数の図

monthname 関数の図

monthname 関数の図 ![特定の入力日付が与えられたときに、関数が月と年の結合結果を返す方法を示している、monthname 関数の例の図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-general.png)

引数

| 引数 | 説明 |
| --- | --- |
| date | 評価する日付またはタイムスタンプ。 |
| period\_no | period\_no は整数であり、0 が指定された場合または省略された場合、date を含む月を示します。period\_no の値が負の場合は過去の月を、正の場合は将来の月を示します。 |

関数の例

| 例 | 結果 |
| --- | --- |
| `monthname('10/19/2013')` | Oct 2013 を返します |
| `monthname('10/19/2013', -1)` | Sep 2013 を返します |

## リージョンの設定

特に指定のない限り、このトピックの例では MM/DD/YYYY の日付書式を使用しています。 日付書式は、データ ロード スクリプトの `SET DateFormat` ステートメントで指定されています。既定の日付書式は、リージョンの設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。詳しくは「[アプリケーションとスクリプトの地域設定の変更](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)」を参照してください。

アプリケーションの既定のリージョン設定は、ユーザー プロファイルに基づいています。これらのリージョンの書式設定は、Qlik Cloud ユーザー インターフェースに表示される言語とは関係ありません。Qlik Cloud は使用しているブラウザと同じ言語で表示されます。

アプリケーションの作成者は、作成するアプリケーションの既定のリージョンを設定できます。詳細については、「[Qlik Cloud Analytics でアプリとスクリプトを作成するための優先地域設定の設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting)」を参照してください。

## 例 1 – 基本的な例

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

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

概要

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

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

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

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

* トランザクションが発生した月を返す項目 [`transaction_month`] の作成。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
						
Transactions:
    Load
        *,
        monthname(date) as transaction_month
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
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`

* `transaction_month`

結果テーブル

| date | transaction\_month |
| --- | --- |
| 1/7/2022 | 2022 年 1 月 |
| 1/19/2022 | 2022 年 1 月 |
| 2/5/2022 | 2022 年 2 月 |
| 2/28/2022 | 2022 年 2 月 |
| 3/16/2022 | 2022 年 3 月 |
| 4/1/2022 | 2022 年 4 月 |
| 5/7/2022 | 2022 年 5 月 |
| 5/16/2022 | 2022 年 5 月 |
| 6/15/2022 | 2022 年 6 月 |
| 6/26/2022 | 2022 年 6 月 |
| 7/9/2022 | 2022 年 7 月 |
| 7/22/2022 | 2022 年 7 月 |
| 7/23/2022 | 2022 年 7 月 |
| 7/27/2022 | 2022 年 7 月 |
| 8/2/2022 | 2022 年 8 月 |
| 8/8/2022 | 2022 年 8 月 |
| 8/19/2022 | 2022 年 8 月 |
| 9/26/2022 | 2022 年 9 月 |
| 10/14/2022 | 2022 年 10 月 |
| 10/29/2022 | 2022 年 10 月 |

`transaction_month` 項目は、`monthname()` 関数を使用し、関数の引数として `date` 項目を渡すことにより、先行する LOAD ステートメントで作成されます。

monthname 関数の図、基本的な例

monthname 関数の図、基本的な例

monthname 関数の図、基本的な例 ![monthname 関数を使用してトランザクションが発生した月を特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-basic-example.png)

`monthname()` 関数は、トランザクション 8192 が 2022 年 3 月に発生したことを特定し、 `MonthNames` システム変数を使用してこの値を返します。

## 例 2 – period\_no

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

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

概要

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

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

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

* トランザクションが発生する前の月の終わりのタイムスタンプを返す、項目 [`transaction_previous_month`] の作成。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
    Load
        *,
        monthname(date,-1) as transaction_previous_month
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
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`

* `transaction_previous_month`

結果テーブル

| date | transaction\_previous\_month |
| --- | --- |
| 1/7/2022 | 2021 年 12 月 |
| 1/19/2022 | 2021 年 12 月 |
| 2/5/2022 | 2022 年 1 月 |
| 2/28/2022 | 2022 年 1 月 |
| 3/16/2022 | 2022 年 2 月 |
| 4/1/2022 | 2022 年 3 月 |
| 5/7/2022 | 2022 年 4 月 |
| 5/16/2022 | 2022 年 4 月 |
| 6/15/2022 | 2022 年 5 月 |
| 6/26/2022 | 2022 年 5 月 |
| 7/9/2022 | 2022 年 6 月 |
| 7/22/2022 | 2022 年 6 月 |
| 7/23/2022 | 2022 年 6 月 |
| 7/27/2022 | 2022 年 6 月 |
| 8/2/2022 | 2022 年 7 月 |
| 8/8/2022 | 2022 年 7 月 |
| 8/19/2022 | 2022 年 7 月 |
| 9/26/2022 | 2022 年 8 月 |
| 10/14/2022 | 2022 年 9 月 |
| 10/29/2022 | 2022 年 9 月 |

この例では、-1 の `period_no` が `monthname()` 関数でオフセット引数として使用されたため、関数は最初にトランザクションが発生した月を識別します。次に、1 か月前に移動し、月名と年を返します。

monthname 関数の図、period\_no の例

monthname 関数の図、period\_no の例

monthname 関数の図、period\_no の例 ![monthname 関数を使用してトランザクションが発生した月を特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-period-no.png)

トランザクション 8192 は 3 月 16 日に発生しました。 `monthname()` 関数は、トランザクションが発生する前の月が 2 月であることを識別し、2022 年と共に `MonthNames` システム変数形式でその月を返します。

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

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

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

概要

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

ロード スクリプトには、最初の例と同じ inline データセットとシナリオが含まれます。ただし、この例では、変更されていないデータセットがアプリケーションにロードされます。トランザクションが発生した月の終わりのタイムスタンプを返す計算は、アプリケーションのチャート オブジェクトのメジャーとして作成されます。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
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`。

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

`=monthname(date)`

結果テーブル

| date | =monthname(date) |
| --- | --- |
| 1/7/2022 | 2022 年 1 月 |
| 1/19/2022 | 2022 年 1 月 |
| 2/5/2022 | 2022 年 2 月 |
| 2/28/2022 | 2022 年 2 月 |
| 3/16/2022 | 2022 年 3 月 |
| 4/1/2022 | 2022 年 4 月 |
| 5/7/2022 | 2022 年 5 月 |
| 5/16/2022 | 2022 年 5 月 |
| 6/15/2022 | 2022 年 6 月 |
| 6/26/2022 | 2022 年 6 月 |
| 7/9/2022 | 2022 年 7 月 |
| 7/22/2022 | 2022 年 7 月 |
| 7/23/2022 | 2022 年 7 月 |
| 7/27/2022 | 2022 年 7 月 |
| 8/2/2022 | 2022 年 8 月 |
| 8/8/2022 | 2022 年 8 月 |
| 8/19/2022 | 2022 年 8 月 |
| 9/26/2022 | 2022 年 9 月 |
| 10/14/2022 | 2022 年 10 月 |
| 10/29/2022 | 2022 年 10 月 |

[`month_name`] メジャーは、`monthname()` 関数を使用し、関数の引数として [`date`] 項目を渡すことにより、チャート オブジェクトで作成されます。

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

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

monthname 関数の図、チャート オブジェクトの例 ![monthname 関数を使用してトランザクションが発生した月を特定した結果を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-chart-object.png)

`monthname()` 関数は、トランザクション 8192 が 2022 年 3 月に発生したことを特定し、 `MonthNames` システム変数を使用してこの値を返します。