year - スクリプトおよびチャート関数
この関数は、expression が標準的な数値の解釈に従って日付と判断される場合に、年を表す整数を返します。
構文:
year(expression)
戻り値データ型: 整数
year() 関数はスクリプトとチャート関数の両方として使用できます。関数は、特定の日付の年を返します。これは通常、マスターカレンダーの軸として年項目フィールドを作成するために使用します。
使用に適しているケース
year() 関数は、集計を年単位で比較する場合に便利です。例えば、関数が製品の総売上高を年ごとに表示する場合などに使用できます。
これらの軸は、関数を使用してマスター カレンダー テーブルに項目を作成することにより、ロード スクリプトで作成できます。あるいは、計算軸としてチャートで直接使用することもできます。
例 | 結果 |
---|---|
year( '2012-10-12' ) | 2012 を返します |
year( '35648' ) | 1997 を返します (35648 = 1997-08-06 のため) |
地域の設定
特に指定のない限り、このトピックの例では次の日付書式を使用しています: MM/DD/YYYY。日付書式は、データ ロード スクリプトの SET DateFormat ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。
App の既定の地域設定は、Qlik Sense がインストールされているコンピューターまたはサーバーの地域システム設定に基づいています。アクセスしている Qlik Sense サーバーがスウェーデンに設定されてい場合、データ ロード エディターは、日付、時間、および通貨にスウェーデンの地域設定を使用します。これらの地域の書式設定は、Qlik Sense ユーザー インターフェースに表示される言語とは関係ありません。Qlik Sense は使用しているブラウザと同じ言語で表示されます。
例 1 – DateFormat データセット (スクリプト)
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
Master Calendar というテーブルにロードされる日付のデータセット。
-
既定の DateFormat システム変数 (MM/DD/YYYY) が使用されます。
-
先行ロードで、これは year() 関数を使用して、追加の項目 [year] を作成します。
ロード スクリプト
SET DateFormat='MM/DD/YYYY';
Master_Calendar:
Load
date,
year(date) as year
;
Load
date
Inline
[
date
12/28/2020
12/29/2020
12/30/2020
12/31/2020
01/01/2021
01/02/2021
01/03/2021
01/04/2021
01/05/2021
01/06/2021
01/07/2021
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
-
date
-
year
日付 | 年 |
---|---|
12/28/2020 | 2020 |
12/29/2020 | 2020 |
12/30/2020 | 2020 |
12/31/2020 | 2020 |
01/01/2021 | 2021 |
01/02/2021 | 2021 |
01/03/2021 | 2021 |
01/04/2021 | 2021 |
01/05/2021 | 2021 |
01/06/2021 | 2021 |
01/07/2021 | 2021 |
例 2 – ANSI 日付
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
Master Calendar というテーブルにロードされる日付のデータセット。
-
既定の DateFormat システム変数 (MM/DD/YYYY) が使用されます。ただし、データセットに含まれる日付は、ANSI 標準日付形式です。
-
先行ロードで、これは year() 関数を使用して、追加の項目 [year] を作成します。
ロード スクリプト
SET DateFormat='MM/DD/YYYY';
Master_Calendar:
Load
date,
year(date) as year
;
Load
date
Inline
[
date
2020-12-28
2020-12-29
2020-12-30
2020-12-31
2021-01-01
2021-01-02
2021-01-03
2021-01-04
2021-01-05
2021-01-06
2021-01-07
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
-
date
-
year
日付 | 年 |
---|---|
2020-12-28 | 2020 |
2020-12-29 | 2020 |
2020-12-30 | 2020 |
2020-12-31 | 2020 |
2021-01-01 | 2021 |
2021-01-02 | 2021 |
2021-01-03 | 2021 |
2021-01-04 | 2021 |
2021-01-05 | 2021 |
2021-01-06 | 2021 |
2021-01-07 | 2021 |
例 3 – 形式設定のない日付
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
Master Calendar というテーブルにロードされる、数値形式の日付のデータセット。
-
既定の DateFormat システム変数 (MM/DD/YYYY) が使用されます。
-
先行ロードで、これは year() 関数を使用して、追加の項目 [year] を作成します。
元の形式設定のない unformatted_date という日付がロードされます。明確にするため、数値の日付を形式設定のある日付項目に変換するために、date() 関数を使って追加項目である [long_date] が使用されます。
ロード スクリプト
SET DateFormat='MM/DD/YYYY';
Master_Calendar:
Load
unformatted_date,
date(unformatted_date) as long_date,
year(unformatted_date) as year
;
Load
unformatted_date
Inline
[
unformatted_date
44868
44898
44928
44958
44988
45018
45048
45078
45008
45038
45068
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
-
unformatted_date
-
long_date
-
year
unformatted_date | long_date | 年 |
---|---|---|
44868 | 11/03/2022 | 2022 |
44898 | 12/03/2022 | 2022 |
44928 | 01/02/2023 | 2023 |
44958 | 02/01/2023 | 2023 |
44988 | 03/03/2023 | 2023 |
45008 | 03/23/2023 | 2023 |
45018 | 04/02/2023 | 2023 |
45038 | 04/22/2023 | 2023 |
45048 | 05/02/2023 | 2023 |
45068 | 05/22/2023 | 2023 |
45078 | 06/01/2023 | 2023 |
例 4 – チャート オブジェクトの例
概要
データ ロード エディタを開き、以下のロード スクリプトを新しいタブに追加します。
この例では、注文のデータセットが「Sales」というテーブルにロードされます。テーブルには 3 項目が含まれています。
-
id
-
sales_date
-
amount
製品販売時の保証期間は、販売日から 2 年間です。タスクは、各保証の有効期限が切れる年を決定するメジャーをチャートに作成することです。
ロード スクリプト
Sales:
Load
id,
sales_date,
amount
Inline
[
id,sales_date,amount
1,12/28/2020,231.24,
2,12/29/2020,567.28,
3,12/30/2020,364.28,
4,12/31/2020,575.76,
5,01/01/2021,638.68,
6,01/02/2021,785.38,
7,01/03/2021,967.46,
8,01/04/2021,287.67
9,01/05/2021,764.45,
10,01/06/2021,875.43,
11,01/07/2021,957.35
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します: sales_date。
次のメジャーを作成します:
=year(sales_date+365*2)
sales_date | =year(sales_date+365*2) |
---|---|
12/28/2020 | 2022 |
12/29/2020 | 2022 |
12/30/2020 | 2022 |
12/31/2020 | 2022 |
01/01/2021 | 2023 |
01/02/2021 | 2023 |
01/03/2021 | 2023 |
01/04/2021 | 2023 |
01/05/2021 | 2023 |
01/06/2021 | 2023 |
01/07/2021 | 2023 |
このメジャーの結果は上記のテーブルに表示されています。日付に 2 年間を追加するには、365 に 2 を乗算してから、その結果を販売日付に加えます。そのため、2020 年に発生した売上は 2022 年に失効します。