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

この関数は、ベース日付を含む月、2 か月、四半期、4 か月、半年のいずれかの期間の最後のミリ秒のタイムスタンプに相当する値を返します。その前後の期間の終わりのタイムスタンプを取得することもできます。デフォルトの出力形式は、スクリプトに設定されている `DateFormat` です。

構文:

MonthsEnd(n\_months, date[, period\_no [, first\_month\_of\_year]])

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

`monthsend` 関数の図。

`monthsend` 関数の図。

`monthsend`monthsend 関数の図。 ![選択した期間最新タイムスタンプを特定するのに monthsend 関数を使用する方法を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-diagram1.png)

引数

| 引数 | 説明 |
| --- | --- |
| n\_months | 期間を定義する月数。整数、または計算結果が整数になる数式で次のうちのいずれかでなければならない。1 (inmonth() 関数と同機能)、2 (2 か月)、3 (inquarter() 関数と同機能)、4 (4 か月)、6 (半年)。 |
| date | 評価する日付またはタイムスタンプ。 |
| period\_no | 期間は、period\_no、整数、計算結果が整数になる数式を使用して補正できます。値 0 は base\_date を含む期間を示します。period\_no の値が負の場合は過去の期間を、正の場合は将来の期間を示します。 |
| first\_month\_of\_year | 事業年度が 1 月以外の月に始まる場合は、first\_month\_of\_year で 2 から 12 の間の値を指定します。 |

`monthsend()` 関数は、指定された `n_months` 引数に基づいて年をセグメントに分割します。次に、提供された各日付がどのセグメントに該当するかを評価し、そのセグメントの最後のミリ秒を日付形式で返します。関数は、前後のセグメントから終了タイムスタンプを返すことも、年の最初の月を最適することもできます。

次の年のセグメントは、 `n_month` 引数として関数で使用できます。

`n_month`n\_month 引数

| 期間 | 月数 |
| --- | --- |
| 月 | 1 |
| 隔月 | 2 |
| 四半期 | 3 |
| 4 か月 | 4 |
| 半年 | 6 |

monthsend の使用目的

`monthsend()` 関数は、ユーザーがこれまで経過した月の端数を計算に使用する場合に、数式の一部として使用されます。ユーザーには、変数を使用して、選択した項目の期間を選ぶ機会があります。例えば、`monthsend()` が入力変数を提供すると、ユーザーが月、四半期、半年にまだ未発生の合計利息を計算することができます。

## リージョンの設定

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

関数の例

| 例 | 結果 |
| --- | --- |
| `monthsend(4, '07/19/2013')` | 08/31/2013 を返します。 |
| `monthsend(4, '10/19/2013', -1)` | 08/31/2013 を返します。 |
| `monthsend(4, '10/19/2013', 0, 2)` | 01/31/2014 を返します。<br>年の開始は、2 月からです。 |

## 例 1 – 基本的な例

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

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

概要

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

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

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

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

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

  * 項目 [`bi_monthly_end`] として設定されている `monthsend` 関数。これにより、トランザクションが隔月セグメントにグループ化されます。

  * 各トランザクションに対してセグメントの開始タイムスタンプを返す `timestamp` 関数。

ロード スクリプト

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

Transactions: 
    Load 
    *, 
    monthsend(2,date) as bi_monthly_end, 
    timestamp(monthsend(2,date)) as bi_monthly_end_timestamp 
    ; 
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/22/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 
]; 
```

結果

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

* `id`
* `date`
* `bi_monthly_end`
* `bi_monthly_end_timestamp`

結果テーブル

| id | date | bi\_monthly\_end | bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

[`bi_monthly_end`] 項目は、`monthsend()` 関数を使用して、前の Load ステートメントで作成されます。提供される最初の引数は `2` で、年を 2 か月のセグメントに分割します。2 番目の引数は、評価される項目を識別します。

2 か月セグメントの `monthsend` 関数の図。

2 か月セグメントの `monthsend` 関数の図。

2 か月セグメントの `monthsend`monthsend 関数の図。 ![monthsend 関数が選択された 2 か月セグメントを特定する方法を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example1-diagram.png)

トランザクション 8195 は 5 月 22 日に発生します。 `` 関数は、最初に年を 2 か月のセグメントに分割します。monthsend() トランザクション 8195 は、5 月 1 日～6 月 30 日のセグメントに分類されます。結果として、関数はこのセグメントの最後のミリ秒 06/30/2022 11:59:59 PM を返します。

## 例 2 – period\_no

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

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

概要

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

この例では、タスクはトランザクションが発生する前の 2 か月セグメントの最初のタイムスタンプを返す項目 [`prev_bi_monthly_end`] の作成です。

ロード スクリプト

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

Transactions: 
    Load 
    *, 
    monthsend(2,date,-1) as prev_bi_monthly_end, 
    timestamp(monthsend(2,date,-1)) as prev_bi_monthly_end_timestamp 
    ; 
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/22/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 
]; 
```

結果

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

* `id`
* `date`
* `prev_bi_monthly_end`
* `prev_bi_monthly_end_timestamp`

結果テーブル

| id | date | prev\_bi\_monthly\_end | prev\_bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8189 | 1/19/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8190 | 2/5/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8191 | 2/28/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8192 | 3/16/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |

`-1` を `monthsend()` 関数の `period_no` 引数として使用することにより、最初に 1 年を 2 か月のセグメントに分割した後、関数はトランザクションが発生したときの以前の 2 か月セグメントの最後のミリ秒を返します。

前の 2 か月のセグメントを返す `monthsend` 関数の図。

前の 2 か月のセグメントを返す `monthsend` 関数の図。

前の 2 か月のセグメントを返す `monthsend`monthsend 関数の図。 ![前の 2 か月のセグメントを返すマイナス 1 period_no を持つ monthsend 関数の図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example2-diagram.png)

トランザクション 8195 は、5 月～6 月のセグメントに発生します。その結果、前の 2 か月セグメントは 3 月 1～4 月 30 日だったので、関数はこのセグメントの最後のミリ秒 04/30/2022 11:59:59 PM を返します。

## 例 3 – first\_month\_of\_year

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

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

概要

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

この例では、組織ポリシーでは 4 月が会計期間の開始月に定められています。

トランザクションを 2 か月のセグメントにグループ化し、トランザクションごとにそのセグメントの最後のミリ秒タイムスタンプを返す項目 [`bi_monthly_end`] を作成します。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    monthsend(2,date,0,4) as bi_monthly_end, 
    timestamp(monthsend(2,date,0,4)) as bi_monthly_end_timestamp 
    ; 
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/22/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 
]; 
```

結果

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

* `id`
* `date`
* `bi_monthly_end`
* `bi_monthly_end_timestamp`

結果テーブル

| id | date | bi\_monthly\_end | bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |

`monthsend()` 関数の `first_month_of_year` 引数に `4` を使用することにより、関数は 4 月 1 日に年度を開始します。その後その年度を 2 か月単位 (4 月～5 月、6 月～7 月、8 月～9 月、10 月～11 月、12 月～1 月、2 月～3 月) のセグメントに分割します。

4 月が年の最初の月に設定された `monthsend` 関数の図。

4 月が年の最初の月に設定された `monthsend` 関数の図。

4 月が年の最初の月に設定された `monthsend`monthsend 関数の図。 ![2 か月セグメントと 4 月が年の最初の月に設定された monthsend 関数の図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example3-diagram.png)

トランザクション 8195 は 5 月 22 日に発生し、4 月 1 日～5 月 31 日のセグメントに分類されます。結果として、関数はこのセグメントの最後のミリ秒 05/31/2022 11:59:59 PM を返します。

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

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

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

概要

最初の例と同じデータセットとシナリオが使用されます。ただし、この例では、データセットは変更されず、アプリケーションにロードされます。

この例で、タスクはトランザクションを 2 か月のセグメントにグループ化し、トランザクションごとにそのセグメントの最後のミリ秒タイムスタンプを、アプリケーションのチャート オブジェクトでメジャーとして返す計算を作成することです。

ロード スクリプト

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,2/19/2022,37.23 
8189,3/7/2022,17.17
8190,3/30/2022,88.27 
8191,4/5/2022,57.42 
8192,4/16/2022,53.80 
8193,5/1/2022,82.06 
8194,5/7/2022,40.39 
8195,5/22/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`

トランザクションが発生した 2 か月セグメントの最後のミリ秒タイムスタンプをフェッチするには、次のメジャーを作成します。

* `=monthsEnd(2,date)`
* `=timestamp(monthsend(2,date))`

結果テーブル

| id | date | =monthsend(2,date) | =timestamp(monthsend(2,date)) |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

[`bi_monthly_end`] 項目は、 `monthsend()` 関数を使用することにより、チャート オブジェクトに作成されます。提供される最初の引数は `2` で、これは年を 2 か月のセグメントに分割します。2 番目の引数は、評価される項目を識別します。

2 か月セグメントの `monthsend` 関数の図。

2 か月セグメントの `monthsend` 関数の図。

2 か月セグメントの `monthsend`monthsend 関数の図。 ![monthsend 関数が、チャート オブジェクトを使って選択された 2 か月セグメントを特定する方法を示す図。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example4-diagram.png)

トランザクション 8195 は 5 月 22 日に発生します。 `` 関数は、最初に年を 2 か月のセグメントに分割します。monthsend() トランザクション 8195 は、5 月 1 日～6 月 30 日のセグメントに分類されます。結果として、関数はこのセグメントの最初のミリ秒 06/30/2022 11:59:59 PM を返します。

## 例 5 – シナリオ

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

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

概要

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

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

* 従業員 ID

* 従業員名

* 各従業員の平均日次経費請求。

エンド ユーザーは、従業員 ID と従業員名別に、自分で選択した期間の残りの期間にまだ発生する推定経費請求を表示するチャートを求めています。会計年度は 1 月に始まります。

ロード スクリプト

```
SET vPeriod = 1; 

Employee_Expenses: 
Load 
* 
Inline  
[ 
employee_id,employee_name,avg_daily_claim 
182,Mark, $15 
183,Deryck, $12.5  
184,Dexter, $12.5 
185,Sydney,$27 
186,Agatha,$18 
]; 
```

結果

データをロードして新しいシートを開きます。

ロード スクリプトの開始時には、変数入力コントロールに関連付けられる変数 (vPeriod) が作成されます。

以下を実行します。

1. アセット パネルで、 [チャート] をクリックします。

2. [ダッシュボード オブジェクト] で、 [変数入力] をシート上にドラッグします。

3. チャート オブジェクトのタイトルを入力します。

4. [変数] で、[名前] に [vPeriod] を選択し、オブジェクトを [ドロップ ダウン] として表示するように設定します。

5. [値] で、[ダイナミック] 値をクリックします。以下を入力します。

   ```
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'.
   ```

新しいテーブルと、これらの項目を軸として作成します。

* employee\_id

* employee\_name

累積利息を計算するには、このメジャーを作成します。

```
=floor(monthsend($(vPeriod),today(1))-today(1))*avg_daily_claim 
```

情報メモこのメジャーは動的であり、データをロードする日付によって異なるテーブル結果が生じます。

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

結果テーブル

| employee\_id | employee\_name | =floor(monthsend($(vPeriod),today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $1410.00 |
| 183 | Deryck | $1175.00 |
| 184 | Dexter | $1175.00 |
| 185 | Sydney | $2538.00 |
| 186 | Agatha | $1692.00 |

monthsend() 関数は、最初の引数としてユーザー入力を、2 番目の因数として今日の日付を使用します。これは、ユーザーが選択した期間の最終日付を返します。次に、式は、この終了日から今日の日付を引くことによって、選択した期間の残りの日数を返します。

次に、この値に各従業員による 1 日あたりの平均経費請求額を乗算して、この期間の残り日数に各従業員が行うと予想される請求の推定額を計算します。