monthname - スクリプトおよびチャート関数
この関数は、月の初日の最初のミリ秒のタイムスタンプに対応する基底の数値を持つ、月 (MonthNames スクリプト変数に従った書式) および年の表示値を返します。
構文:
MonthName(date[, period_no])
戻り値データ型: dual
引数 | 説明 |
---|---|
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 ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。
App の既定の地域設定は、Qlik Sense がインストールされているコンピューターまたはサーバーの地域システム設定に基づいています。アクセスしている Qlik Sense サーバーがスウェーデンに設定されてい場合、データ ロード エディターは、日付、時間、および通貨にスウェーデンの地域設定を使用します。これらの地域の書式設定は、Qlik Sense ユーザー インターフェースに表示される言語とは関係ありません。Qlik Sense は使用しているブラウザと同じ言語で表示されます。
例 1 – 基本的な例
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
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
日付 | 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() 関数は、トランザクション 8192 が 2022 年 3 月に発生したことを特定し、 MonthNames システム変数を使用してこの値を返します。
例 2 – period_no
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
最初の例と同じ 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
日付 | 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 か月前に移動し、月名と年を返します。
トランザクション 8192 は 3 月 16 日に発生しました。 monthname() 関数は、トランザクションが発生する前の月が 2 月であることを識別し、2022 年と共に MonthNames システム変数形式でその月を返します。
例 3 – チャート オブジェクトの例
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには、最初の例と同じ 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)
日付 | =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() 関数は、トランザクション 8192 が 2022 年 3 月に発生したことを特定し、 MonthNames システム変数を使用してこの値を返します。