# monthend 스크립트 및 차트 함수

이 함수는 `date`를 포함하는 월의 마지막 날의 마지막 밀리초의 타임스탬프에 해당하는 값을 반환합니다. 기본 출력 형식은 스크립트에 설정된 `DateFormat`입니다.

MonthEnd(date[, period\_no])

즉, `monthend()` 함수는 이 날짜가 속하는 월을 확인합니다.그런 다음 해당 월의 마지막 밀리초에 대한 타임스탬프를 날짜 서식으로 반환합니다.

`monthend` 함수 다이어그램.

`monthend` 함수 다이어그램.

`monthend`monthend 함수 다이어그램. ![Diagram showing how monthend function can be used to identify the latest timestamp of a chosen month.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-diagram1.png)

사용 시기

`monthend()` 함수는 아직 발생하지 않은 월의 부분을 사용하도록 계산하려는 경우 표현식의 일부로 사용됩니다.예를 들어 해당 월에 아직 발생하지 않은 총 이자를 계산하려는 경우에 사용할 수 있습니다.

반환 데이터 유형: Dual

인수

| 인수 | 설명 |
| --- | --- |
| date | 평가할 날짜 또는 타임스탬프입니다. |
| period\_no | period\_no는 정수이며, 0이거나 생략되는 경우는 date를 포함하는 월을 나타냅니다. period\_no가 음수 값일 경우 이전 달, 양수 값일 경우 다음 달을 나타냅니다. |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다: MM/DD/YYYY.날짜 형식은 데이터 로드 스크립트의 `SET DateFormat` 문에 지정됩니다.기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다.아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다.또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.

앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다.액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우, 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다.이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense은(는) 사용 중인 브라우저와 동일한 언어로 표시됩니다.

함수 예

| 예 | 결과 |
| --- | --- |
| `monthend('02/19/2012')` | 02/29/2012 23:59:59을 반환합니다. |
| `monthend('02/19/2001', -1)` | 반환합니다 01/31/2001 23:59:59. |

## 예 1 – 기본 예

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

#### 로드 스크립트 및 결과

개요

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* '`Transactions`'라는 테이블에 로드되는 2022년 트랜잭션 집합을 포함하는 데이터 집합.

* `DateFormat` 시스템 변수 (`MM/DD/YYYY`) 형식의 날짜 필드.

* 다음을 포함하는 선행 LOAD 문:

  * '`end_of_month`' 필드로 설정된 `monthend()` 함수.

  * '`end_of_month_timestamp`' 필드로 설정된 `timestamp` 함수.

로드 스크립트

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

Transactions: 
    Load 
    *, 
    monthend(date) as end_of_month, 
    timestamp(monthend(date)) as end_of_month_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/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 
]; 
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `id`
* `date`
* `end_of_month`
* `end_of_month_timestamp`

결과 테이블

| ID | 날짜 | end\_of\_month | end\_of\_month\_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 | 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 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 05/31/2022 | 5/31/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 | 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 | 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 | 09/30/2022 | 9/30/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 |

‘`end_of_month`’ 필드는 `monthend()` 함수를 사용하고 날짜 필드를 함수의 인수로 전달하여 선행 LOAD 문에서 만들어집니다.

`monthend()` 함수는 날짜 값이 속하는 월을 식별하고 해당 월의 마지막 밀리초에 대한 타임스탬프를 반환합니다.

3월이 선택된 `monthend` 함수의 다이어그램.

3월이 선택된 `monthend` 함수의 다이어그램.

3월이 선택된 `monthend`monthend 함수의 다이어그램. ![Diagram showing how monthend function can be used to identify the latest timestamp of a chosen month.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example1-diagram.png)

트랜잭션 8192는 3월 16일에 발생했습니다.`monthend()` 함수는 해당 월의 마지막 밀리초, 즉 3월 31일 오후 11:59:59를 반환합니다.

## 예 2 – period\_no

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

#### 로드 스크립트 및 결과

개요

첫 번째 예와 동일한 데이터 집합 및 시나리오가 사용됩니다.

이 예에서 작업은 트랜잭션이 발생하기 전 월의 끝에 대한 타임스탬프를 반환하는 필드 '`previous_month_end`'를 만드는 것입니다.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    monthend(date,-1) as previous_month_end, 
    timestamp(monthend(date,-1)) as previous_month_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/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 
]; 
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `id`
* `date`
* `previous_month_end`
* `previous_month_end_timestamp`

결과 테이블

| ID | 날짜 | previous\_month\_end | previous\_month\_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 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 05/31/2022 | 5/31/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 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |

`period_no`의 `-1`을(를) 오프셋 인수로 사용했으므로, 이 `monthend()`함수는 먼저 트랜잭션이 발생하는 월을 식별합니다.그런 다음 한 달 전으로 시프트하고 해당 월의 마지막 밀리초를 식별합니다.

period\_no 변수를 사용하는 `monthend` 함수의 다이어그램.

period\_no 변수를 사용하는 `monthend` 함수의 다이어그램.

period\_no 변수를 사용하는 `monthend`monthend 함수의 다이어그램. ![Diagram showing how monthend function can be used with the period_no variable to identify the latest timestamp the month before the one set in the monthend() function.](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example2-diagram.png)

트랜잭션 8192는 3월 16일에 발생했습니다.`monthend()` 함수는 트랜잭션이 발생하기 전 월이 2월임을 식별합니다.그런 다음 해당 월의 마지막 밀리초인 2월 28일 오후 11:59:59를 반환합니다.

## 예 3 – 차트 예

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

#### 로드 스크립트 및 차트 표현식

개요

첫 번째 예와 동일한 데이터 집합 및 시나리오가 사용됩니다.

이 예에서 데이터 집합은 변경되지 않고 응용 프로그램에 로드됩니다.트랜잭션이 발생한 월말에 대한 타임스탬프를 응용 프로그램의 차트에서 측정값으로 반환하는 계산을 만드는 작업입니다.

로드 스크립트

```
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`

* `id`

트랜잭션이 발생한 월의 끝 날짜를 계산하려면 다음 측정값을 만듭니다.

* `=monthend(date)`
* `=timestamp(monthend(date))`

결과 테이블

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

‘`end_of_month`’ 측정값은 `monthend()` 함수를 사용하고 날짜 필드를 함수의 인수로 전달하여 차트에서 만들어집니다.

`monthend()` 함수는 날짜 값이 속하는 월을 식별하고 해당 월의 마지막 밀리초에 대한 타임스탬프를 반환합니다.

period\_no 변수를 사용하는 `monthend` 함수의 다이어그램.

period\_no 변수를 사용하는 `monthend` 함수의 다이어그램.

period\_no 변수를 사용하는 `monthend`monthend 함수의 다이어그램. ![](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthend-example3-diagram.png)

트랜잭션 8192는 3월 16일에 발생했습니다.`monthend()` 함수는 해당 월의 마지막 밀리초, 즉 3월 31일 오후 11:59:59를 반환합니다.

## 예 4 – 시나리오

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

#### 로드 스크립트 및 결과

개요

이 예에서 데이터 집합은 '`Employee_Expenses`'라는 테이블에 로드됩니다.테이블에는 다음 필드가 포함됩니다.

* 직원 ID

* 직원 이름

* 각 직원의 평균 일일 비용 청구

최종 사용자는 직원 ID 및 직원 이름별로 해당 월에 남은 기간 동안 예상되는 비용 청구를 표시하는 차트를 원합니다.

로드 스크립트

```
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 
]; 
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `employee_id`
* `employee_name`

누적 이자를 계산하려면 다음 측정값을 만듭니다.

`=floor(monthend(today(1),0)-today(1))*avg_daily_claim`

정보 메모이 측정값은 동적이며 데이터를 로드하는 날짜에 따라 다른 테이블 결과를 생성합니다.

측정값의 숫자 형식을 화폐로 설정합니다.

결과 테이블

| employee\_id | employee\_name | =floor(monthend(today(1),0)-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $30.00 |
| 183 | Deryck | $25.00 |
| 184 | Dexter | $25.00 |
| 185 | Sydney | $54.00 |
| 186 | Agatha | $36.00 |

`monthend()` 함수는 오늘 날짜를 유일한 인수로 사용하여 현재 월의 끝 날짜를 반환합니다.이 표현식은 월 끝 날짜에서 오늘 날짜를 빼서 이번 달에 남아 있는 일 수를 반환합니다.

그런 다음 이 값에 각 직원의 평균 일일 비용 청구를 곱하여 각 직원이 남은 월에 예상되는 청구 금액을 계산합니다.