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

この関数は、date を含む週の初日の最初のミリ秒のタイムスタンプに対応する数値を基底として、年と週番号を表示する値を返します。

構文:

WeekName(date[, period\_no [, first\_week\_day [, broken\_weeks [, reference\_day]]]])

`weekname()` 関数は、日付が属する週を判別し、その週の週番号と年を返します。週の最初の曜日は、 `FirstWeekDay` システム変数によって決定されます。ただし、 `weekname()` 関数で `first_week_day` 引数を使用して、週の最初の曜日を変更することもできます。

Qlik Sense では、アプリケーション作成時に地域設定がフェッチされ、対応する設定は環境変数としてスクリプトに保管されます。

米国のアプリケーション開発者は、分離した週に対応して、スクリプトで `Set BrokenWeeks=1;` をよく取得します。ヨーロッパのアプリケーション開発者は、未分離の週に対応して、スクリプトで `Set BrokenWeeks=0;` をよく取得します。

アプリケーションが分割された週を使用する場合、発生日数に関係なく週数のカウントは 1 月 1 日に始まり、`FirstWeekDay` システム変数の前日に終了します。

ただし、アプリケーションが連続した週を使用している場合、第 1 週は前年または 1 月の最初の数日間に開始できます。これは、 `ReferenceDay` および `FirstWeekDay` システム変数の使用方法によって異なります。

Weekname 関数の例

| Date | ISO 週間名 | 米国週名 |
| --- | --- | --- |
| 2020 年 12 月 26 日 (土) | 2020/52 | 2020/52 |
| 2020 年 12 月 27 日 (日) | 2020/52 | 2020/53 |
| 2020 年 12 月 28 日 (月) | 2020/53 | 2020/53 |
| 2020 年 12 月 29 日 (火) | 2020/53 | 2020/53 |
| 2020 年 12 月 30 日 (水) | 2020/53 | 2020/53 |
| 2020 年 12 月 31 日 (木) | 2020/53 | 2020/53 |
| 2021 年 1 月 1 日 (金) | 2020/53 | 2021/01 |
| 2021 年 1 月 2 日 (土) | 2020/53 | 2021/01 |
| 2021 年 1 月 3 日 (日) | 2020/53 | 2021/02 |
| 2021 年 1 月 4 日 (月) | 2021/01 | 2021/02 |
| 2021 年 1 月 5 日 (火) | 2021/01 | 2021/02 |

weekname の使用目的

`weekname()` 関数は、集計を週単位で比較する場合に便利です。

たとえば、製品の総売上高を週ごとに表示する場合などが考えられます。アプリケーションで `BrokenWeeks` 環境変数との一貫性を維持するには、 `weekname()` の代わりに `lunarweekname()` を使用します。アプリケーションが連続週を使用している場合、第 1 週には前年の 12 月の日付が含まれるか、今年の 1 月の日付が除外されます。アプリケーションが分割された週を使用している場合、第 1 週 に含まれる日数が 7 日間を下回ることがあります。

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

引数

| 引数 | 説明 |
| --- | --- |
| timestamp | 評価する日付またはタイムスタンプ。 |
| period\_no | shift は整数で、値 0 は date を含む週を示します。shift の値が負の場合は過去の週を、正の場合は将来の週を示します。 |
| first\_week\_day | 週の開始日を指定します。省略されている場合は、変数 FirstWeekDay の値が使用されます。<br><br>first\_week\_day には、0 が月曜日、1 が火曜日、2 が水曜日、3 が木曜日、4 が金曜日、5 が土曜日、6 が日曜日の値を使用できます。<br><br>システム変数の詳細については、[FirstWeekDay](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) を参照してください。 |
| broken\_weeks | broken\_weeks が指定されていない場合は、変数 BrokenWeeks の値を使用して、週が分離しているかどうかを定義します。<br><br>システム変数の詳細については、[BrokenWeeks](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) を参照してください |
| reference\_day | reference\_day が指定されていない場合は、変数 ReferenceDay の値を使用して、第 1 週を定義する参照日として設定する 1 月の日を定義します。デフォルトでは、Qlik Sense 関数は 4 を参照日として使用します。これは、第 1 週に必ず 1 月 4 日が含まれる、または第 1 週に少なくとも 1 月の 4 日間が常に含まれることを意味します。<br><br>システム変数の詳細については、[ReferenceDay](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm) を参照してください |

## リージョンの設定

特に指定のない限り、このトピックの例では 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)」を参照してください。

下記の例では

```
Set FirstWeekDay=0;  
Set BrokenWeeks=0;   
Set ReferenceDay=4;
```

関数の例

| 例 | 結果 |
| --- | --- |
| weekname('01/12/2013') | 2013/02 を返します。 |
| weekname('01/12/2013', -1) | 2013/01 を返します。 |
| weekname('01/12/2013', 0, 1) | 2013/02 を返します。 |

## 例 1 – 追加の引数がない日付

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

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

概要

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

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

* 2021 年の最後の週と 2022 年の最初の週のトランザクションを含むデータセットは、「`Transactions`」というテーブルにロードされます。

* `MM/DD/YYYY` 形式に設定された `DateFormat` システム変数。

* `1` に設定された `BrokenWeeks` システム変数。

* `6` に設定された `FirstWeekDay` システム変数。

* 次を含む、先行する LOAD:

  * 項目「`week_number`」として設定された `weekday()` 関数は、トランザクションが発生した年と週番号を返します。

  * 「`week_day`」という項目として設定される `weekname()` 関数は、各トランザクション日付の平日の値を表示します。

ロード スクリプト

```

SET BrokenWeeks=1; 
SET DateFormat='MM/DD/YYYY'; 
SET FirstWeekDay=6; 

Transactions: 
   Load 
     *, 
     WeekDay(date) as week_day, 
     Weekname(date) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

結果

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

* `id`
* `date`
* `week_day`
* `week_number`

結果テーブル

| id | date | week\_day | week\_number |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 月 | 2021/53 |
| 8184 | 12/28/2021 | 火 | 2021/53 |
| 8185 | 12/29/2021 | 水 | 2021/53 |
| 8186 | 12/30/2021 | 木 | 2021/53 |
| 8187 | 12/31/2021 | 金 | 2021/53 |
| 8188 | 01/01/2022 | 土 | 2022/01 |
| 8189 | 01/02/2022 | 日 | 2022/02 |
| 8190 | 01/03/2022 | 月 | 2022/02 |
| 8191 | 01/04/2022 | 火 | 2022/02 |
| 8192 | 01/05/2022 | 水 | 2022/02 |
| 8193 | 01/06/2022 | 木 | 2022/02 |
| 8194 | 01/07/2022 | 金 | 2022/02 |
| 8195 | 01/08/2022 | 土 | 2022/02 |
| 8196 | 01/09/2022 | 日 | 2022/03 |
| 8197 | 01/10/2022 | 月 | 2022/03 |
| 8198 | 01/11/2022 | 火 | 2022/03 |
| 8199 | 01/12/2022 | 水 | 2022/03 |
| 8200 | 01/13/2022 | 木 | 2022/03 |
| 8201 | 01/14/2022 | 金 | 2022/03 |

[`week_number`] 項目は、`weekname()` 関数を使用し、関数の引数として日付項目を渡すことにより、前の load ステートメントで作成されます。

`weekname()` 関数は、最初に日付値が属する週を識別し、週番号のカウントとトランザクションが行われた年を返します。

`FirstWeekDay` システム変数は、日曜日を最初の曜日に設定します。`BrokenWeeks` システム変数は、アプリケーションが分割週を使用するように設定します。つまり、第 1 週 は 1 月 1 日に始まります。

既定の変数を使用した `weekname()` 関数の図。

既定の変数を使用した `weekname()` 関数の図。

既定の変数を使用した `weekname()`weekname() 関数の図。 ![weekname() 関数がトランザクションが発生した週番号と年を識別する方法を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram1.png)

第 1 週 は土曜日である 1 月 1 日に始まるため、この日に発生したトランザクションは値 `2022/01` (年と週番号) を返します。

トランザクション 8192 の週番号を識別する `weekname()` 関数の図。

トランザクション 8192 の週番号を識別する `weekname()` 関数の図。

トランザクション 8192 の週番号を識別する `weekname()`weekname() 関数の図。 ![weekname() 関数がトランザクションが発生した週番号を識別する方法を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example1-diagram2.png)

アプリケーションが分割された週を使用しており、最初の平日が日曜日であるため、1 月 2 日～1 月 8 日に発生したトランザクションは値 `2022/02` を返します (2022 年の第 2 週)。「`week_number`」項目の値 `2022/02` を返します。

## 例 2 – period\_no

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

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

概要

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

ただし、この例のタスクは、トランザクションが発生する前の年と週番号を返す項目「`previous_week_number`」を作成することです。

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

ロード スクリプト

```
SET BrokenWeeks=1; 
SET FirstWeekDay=6; 
						
Transactions: 
   Load 
     *, 
     weekname(date,-1) as previous_week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

結果

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

* `id`
* `date`
* `week_day`
* `week_number`

結果テーブル

| id | date | week\_day | week\_number |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 月 | 2021/52 |
| 8184 | 12/28/2021 | 火 | 2021/52 |
| 8185 | 12/29/2021 | 水 | 2021/52 |
| 8186 | 12/30/2021 | 木 | 2021/52 |
| 8187 | 12/31/2021 | 金 | 2021/52 |
| 8188 | 01/01/2022 | 土 | 2021/52 |
| 8189 | 01/02/2022 | 日 | 2021/53 |
| 8190 | 01/03/2022 | 月 | 2021/53 |
| 8191 | 01/04/2022 | 火 | 2021/53 |
| 8192 | 01/05/2022 | 水 | 2021/53 |
| 8193 | 01/06/2022 | 木 | 2021/53 |
| 8194 | 01/07/2022 | 金 | 2021/53 |
| 8195 | 01/08/2022 | 土 | 2022/01 |
| 8196 | 01/09/2022 | 日 | 2022/02 |
| 8197 | 01/10/2022 | 月 | 2022/02 |
| 8198 | 01/11/2022 | 火 | 2022/02 |
| 8199 | 01/12/2022 | 水 | 2022/02 |
| 8200 | 01/13/2022 | 木 | 2022/02 |
| 8201 | 01/14/2022 | 金 | 2022/02 |

`-1` の `period_no` が `weekname()` 関数でオフセット引数として使用されたため、関数は最初にトランザクションが発生した週を識別します。次に、1 週間前を調べて、その週の最初のミリ秒を識別します。

`period_no` オフセットが -1 の `weekname()` 関数の図。

`period_no` オフセットが -1 の `weekname()` 関数の図。

`period_no`period\_no オフセットが -1 の `weekname()`weekname() 関数の図。 ![オフセットが -1 の period_no により、weekname() 関数は前の週の週番号を取得します。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example2-diagram.png)

トランザクション 8192 は 2022 年 1 月 5 日に発生しました。 `weekname()` 関数は、2021 年 12 月 30 日の 1 週間前を検索し、その日付の週番号と年 – `2021/53` を返します。

## 例 3 – first\_week\_day

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

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

概要

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

ただしこの例では、会社の方針により、週の勤務日は火曜日に始まります。

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

ロード スクリプト

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

Transactions: 
   Load 
     *, 
     weekday(date) as week_day, 
     weekname(date,0,1) as week_number 
     ; 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

結果

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

* `id`
* `date`
* `week_day`
* `week_number`

結果テーブル

| id | date | week\_day | week\_number |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 月 | 2021/52 |
| 8184 | 12/28/2021 | 火 | 2021/53 |
| 8185 | 12/29/2021 | 水 | 2021/53 |
| 8186 | 12/30/2021 | 木 | 2021/53 |
| 8187 | 12/31/2021 | 金 | 2021/53 |
| 8188 | 01/01/2022 | 土 | 2022/01 |
| 8189 | 01/02/2022 | 日 | 2022/01 |
| 8190 | 01/03/2022 | 月 | 2022/01 |
| 8191 | 01/04/2022 | 火 | 2022/02 |
| 8192 | 01/05/2022 | 水 | 2022/02 |
| 8193 | 01/06/2022 | 木 | 2022/02 |
| 8194 | 01/07/2022 | 金 | 2022/02 |
| 8195 | 01/08/2022 | 土 | 2022/02 |
| 8196 | 01/09/2022 | 日 | 2022/02 |
| 8197 | 01/10/2022 | 月 | 2022/02 |
| 8198 | 01/11/2022 | 火 | 2022/03 |
| 8199 | 01/12/2022 | 水 | 2022/03 |
| 8200 | 01/13/2022 | 木 | 2022/03 |
| 8201 | 01/14/2022 | 金 | 2022/03 |

火曜日を最初の曜日とする `weekname()` 関数の図。

火曜日を最初の曜日とする `weekname()` 関数の図。

火曜日を最初の曜日とする `weekname()`weekname() 関数の図。 ![火曜日が週の最初の曜日として設定されている場合に、weekname() 関数がどのように動作するかを示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram1.png)

`1` の `first_week_date` 引数が `weekname()` 関数で使用されているため、火曜日が週の最初の曜日として使用されます。したがってこの関数では、2021 年の第 53 週が 12 月 28 日火曜日に始まると判断します。また、分割された週を使用するアプリケーションにより、第 1 週 は 2022 年 1 月 1 日に始まり、2022 年 1 月 3 日の月曜日の最後のミリ秒で終わります。

火曜日が週の最初の日であるトランザクション 8192 の週番号を示す図。

火曜日が週の最初の日であるトランザクション 8192 の週番号を示す図。

火曜日が週の最初の日であるトランザクション 8192 の週番号を示す図。 ![火曜日を週の最初の曜日として設定した場合、weekname() 関数がトランザクション 8192 に対して異なる週番号を返す様子を示している図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example3-diagram2.png)

トランザクション 8192 は 2022 年 1 月 5 日に発生しました。したがって、火曜日の `first_week_day` パラメータを使用すると、 `weekname()` 関数は '`week_number`' 項目の値 `2022/02` を返します。

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

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

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

概要

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

ただし、この例ではデータセットは変更されず、アプリケーションにロードされます。トランザクションが発生した週の年番号を返す計算は、アプリケーションのチャート オブジェクトのメジャーとして作成されます。

ロード スクリプト

```
SET BrokenWeeks=1; 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2021,58.27 
8184,12/28/2021,67.42 
8185,12/29/2021,23.80 
8186,12/30/2021,82.06 
8187,12/31/2021,40.56 
8188,01/01/2022,37.23 
8189,01/02/2022,17.17 
8190,01/03/2022,88.27 
8191,01/04/2022,57.42 
8192,01/05/2022,53.80 
8193,01/06/2022,82.06 
8194,01/07/2022,40.56 
8195,01/08/2022,53.67 
8196,01/09/2022,26.63 
8197,01/10/2022,72.48 
8198,01/11/2022,18.37 
8199,01/12/2022,45.26 
8200,01/13/2022,58.23 
8201,01/14/2022,18.52 
]; 
```

結果

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

* id

* date

* =week\_day (date)

トランザクションが発生する週の初めを計算するには、次のメジャーを作成します。

=weekname(date)

結果テーブル

| id | date | =weekday(date) | =weekname(date) |
| --- | --- | --- | --- |
| 8183 | 12/27/2021 | 月 | 2021/53 |
| 8184 | 12/28/2021 | 火 | 2021/53 |
| 8185 | 12/29/2021 | 水 | 2021/53 |
| 8186 | 12/30/2021 | 木 | 2021/53 |
| 8187 | 12/31/2021 | 金 | 2021/53 |
| 8188 | 01/01/2022 | 土 | 2022/01 |
| 8189 | 01/02/2022 | 日 | 2022/02 |
| 8190 | 01/03/2022 | 月 | 2022/02 |
| 8191 | 01/04/2022 | 火 | 2022/02 |
| 8192 | 01/05/2022 | 水 | 2022/02 |
| 8193 | 01/06/2022 | 木 | 2022/02 |
| 8194 | 01/07/2022 | 金 | 2022/02 |
| 8195 | 01/08/2022 | 土 | 2022/02 |
| 8196 | 01/09/2022 | 日 | 2022/03 |
| 8197 | 01/10/2022 | 月 | 2022/03 |
| 8198 | 01/11/2022 | 火 | 2022/03 |
| 8199 | 01/12/2022 | 水 | 2022/03 |
| 8200 | 01/13/2022 | 木 | 2022/03 |
| 8201 | 01/14/2022 | 金 | 2022/03 |

「week\_number」項目は、weekname() 関数を使用し、関数の引数として日付項目を渡すことにより、チャート オブジェクトのメジャーとして作成されます。

weekname() 関数は、最初に日付値が属する週を識別し、週番号のカウントとトランザクションが行われた年を返します。

FirstWeekDay システム変数は、日曜日を最初の曜日に設定します。BrokenWeeks システム変数は、アプリケーションが分割週を使用するように設定します。つまり、第 1 週 は 1 月 1 日に始まります。

日曜日を週の最初の曜日とする週番号を示す図。

日曜日を週の最初の曜日とする週番号を示す図。

日曜日を週の最初の曜日とする週番号を示す図。 ![第 1 週 が 1 月 1 日に始まり、日曜日が週の最初の日であることを示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

トランザクション 8192 が 2 週目に発生したことを示す図。

トランザクション 8192 が 2 週目に発生したことを示す図。

トランザクション 8192 が 2 週目に発生したことを示す図。 ![トランザクション 8192 が第 2 週に発生することを示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekname-example4-diagram1.png)

アプリケーションが分割された週を使用しており、最初の平日が日曜日であるため、1 月 2 日～1 月 8 日に発生するトランザクションは値 2022/02、つまり 2022 年の第 2 週 を返します。トランザクション 8192 は 1 月 5 日に発生し、「week\_number」項目に対して値 2022/02 を返すことに注意してください。

## 例 5 – シナリオ

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

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

概要

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

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

* 2019 年の最後の週と 2020 年の最初の週のトランザクションを含むデータセットは、Transactions というテーブルにロードされます。

* 0 に設定された BrokenWeeks システム変数。

* 2 に設定された ReferenceDay システム変数。

* MM/DD/YYYY 形式に設定された DateFormat システム変数。

ロード スクリプト

```
SET BrokenWeeks=0;  
SET ReferenceDay=2;  
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8183,12/27/2019,58.27 
8184,12/28/2019,67.42 
8185,12/29/2019,23.80 
8186,12/30/2019,82.06 
8187,12/31/2019,40.56 
8188,01/01/2020,37.23 
8189,01/02/2020,17.17 
8190,01/03/2020,88.27 
8191,01/04/2020,57.42 
8192,01/05/2020,53.80 
8193,01/06/2020,82.06 
8194,01/07/2020,40.56 
8195,01/08/2020,53.67 
8196,01/09/2020,26.63 
8197,01/10/2020,72.48 
8198,01/11/2020,18.37 
8199,01/12/2020,45.26 
8200,01/13/2020,58.23 
8201,01/14/2020,18.52 
]; 
```

結果

データをロードしてシートを開きます。新しいテーブルを作成します。

次の式を使用して計算軸を作成します。

=weekname(date)

総売上を計算するには、次の集計メジャーを作成します。

=sum(amount)

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

結果テーブル

| weekname(date) | =sum(amount) |
| --- | --- |
| 2019/52 | $125.69 |
| 2020/01 | $346.51 |
| 2020/02 | $347.57 |
| 2020/03 | $122.01 |

このシナリオで weekname() 関数を使用した結果を示すには、次の項目を軸として追加します。

date

日付項目を含む結果テーブル

| weekname(date) | date | =sum(amount) |
| --- | --- | --- |
| 2019/52 | 12/27/2019 | $58.27 |
| 2019/52 | 12/28/2019 | $67.42 |
| 2020/01 | 12/29/2019 | $23.80 |
| 2020/01 | 12/30/2019 | $82.06 |
| 2020/01 | 12/31/2019 | $40.56 |
| 2020/01 | 01/01/2020 | $37.23 |
| 2020/01 | 01/02/2020 | $17.17 |
| 2020/01 | 01/03/2020 | $88.27 |
| 2020/01 | 01/04/2020 | $57.42 |
| 2020/02 | 01/05/2020 | $53.80 |
| 2020/02 | 01/06/2020 | $82.06 |
| 2020/02 | 01/07/2020 | $40.56 |
| 2020/02 | 01/08/2020 | $53.67 |
| 2020/02 | 01/09/2020 | $26.63 |
| 2020/02 | 01/10/2020 | $72.48 |
| 2020/02 | 01/11/2020 | $18.37 |
| 2020/03 | 01/12/2020 | $45.26 |
| 2020/03 | 01/13/2020 | $58.23 |
| 2020/03 | 01/14/2020 | $18.52 |

アプリケーションは連続した週を使用し、ReferenceDay システム変数のために第 1 週目は 1 月に最低 2 日間必要であるため、2020 年の第 1 週目には 2019 年 12 月 29 日からのトランザクションが含まれます。