# dayend 스크립트 및 차트 함수

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

구문:

DayEnd(time[, [period\_no[, day\_start]])

dayend를 사용하는 경우

`  dayend() ` 함수는 일반적으로 사용자가 아직 발생하지 않은 하루 중 시간에 대한 분수를 사용하여 계산하려고 할 때 표현식의 일부로 사용됩니다. 예를 들어, 하루 동안 발생되는 총 비용을 계산합니다.

반환 데이터 유형: 이중

인수

| 인수 | 설명 |
| --- | --- |
| time | 평가할 타임스탬프입니다. |
| period\_no | period\_no는 정수 또는 정수로 처리되는 표현식이며, 값 0은 time을 포함하는 날을 나타냅니다. period\_no가 음수 값일 경우 이전 날, 양수 값일 경우 이후 날을 나타냅니다. |
| day\_start | 하루가 자정에 시작되지 않도록 지정하려면 day\_start에 하루의 분위수로 오프셋을 지정합니다. 예를 들어 0.125는 오전 3:00을 나타냅니다.<br><br>즉, 오프셋을 만들려면 시작 시간을 24시간으로 나눕니다. 예를 들어, 하루를 오전 7시에 시작하도록 하려면 분수 7/24를 사용합니다. |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다: MM/DD/YYYY. 날짜 형식은 데이터 로드 스크립트의 `SET DateFormat` 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다. 자세한 내용은 [응용 프로그램 및 스크립트에 대한 지역 설정 수정](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)를 참조하십시오.

응용 프로그램의 기본 지역 설정은 사용자 프로필을 기반으로 합니다. 이러한 국가별 형식 설정은 Qlik Cloud 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Cloud는 사용 중인 브라우저와 동일한 언어로 표시됩니다.

응용 프로그램 작성자인 경우 만든 응용 프로그램의 기본 지역을 설정할 수 있습니다. 자세한 내용은 [Qlik Cloud 분석에서 앱 및 스크립트 만들기를 위한 기본 지역 설정 지정](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting)을 참조하십시오.

함수 예

| 예제 | 결과 |
| --- | --- |
| dayend('2013/01/25 16:45:00') | 2013/01/25 23:59:59를 반환합니다. 오후 |
| dayend('2013/01/25 16:45:00', -1) | 2013/01/24 23:59:59를 반환합니다. 오후 |
| dayend('2013/01/25 16:45:00', 0, 0.5) | 2013/01/26 11:59:59를 반환합니다. 오후 |

## 예 1 - 기본 스크립트

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

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

개요

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

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

* 날짜 목록이 포함된 데이터 집합이 "Calendar"라는 테이블에 로드됩니다.

* 기본 `DateFormat` 시스템 변수 `(MM/DD/YYYY)`.

* `dayend()` 함수를 사용하여 추가 필드 '`EOD_timestamp`'를 만들기 위한 선행 LOAD입니다.

로드 스크립트

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Calendar: 
    Load 
      date, 
      dayend(date) as EOD_timestamp 
      ; 
Load 
date 
Inline  
[ 
date 
03/11/2022 1:47:15 AM 
03/12/2022 4:34:58 AM 
03/13/2022 5:15:55 AM 
03/14/2022 9:25:14 AM 
03/15/2022 10:06:54 AM 
03/16/2022 10:44:42 AM 
03/17/2022 11:33:30 AM 
03/18/2022 12:58:14 PM 
03/19/2022 4:23:12 PM 
03/20/2022 6:42:15 PM 
03/21/2022 7:41:16 PM 
]; 
```

결과

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

* `date`

* `EOD_timestamp`

결과 테이블

| 날짜 | EOD\_timestamp |
| --- | --- |
| 03/11/2022 1:47:15 AM | 2022년 3월 11일 오후 11시 59분 59초 |
| 03/12/2022 4:34:58 AM | 3/12/2022 11:59:59 PM |
| 03/13/2022 5:15:55 AM | 2022년 3월 13일 오후 11시 59분 59초 |
| 2022년 3월 14일 오전 9시 25분 14초 | 2022년 3월 14일 오후 11시 59분 59초 |
| 03/15/2022 10:06:54 AM | 2022년 3월 15일 오후 11시 59분 59초 |
| 03/16/2022 10:44:42 AM | 3/16/2022 11:59:59 PM |
| 03/17/2022 11:33:30 AM | 3/17/2022 11:59:59 PM |
| 03/18/2022 12:58:14 PM | 3/18/2022 11:59:59 PM |
| 03/19/2022 4:23:12 PM | 3/19/2022 11:59:59 PM |
| 03/20/2022 6:42:15 PM | 3/20/2022 11:59:59 PM |
| 03/21/2022 7:41:16 PM | 3/21/2022 11:59:59 PM |

위의 표에서 볼 수 있듯이 데이터 집합의 각 날짜에 대해 하루의 종료 타임스탬프가 생성됩니다. 타임스탬프는 시스템 변수 형식 `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`입니다.

## 예 2 – period\_no

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

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

개요

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

서비스 예약이 포함된 데이터 집합을 'Services'라는 테이블에 로드합니다.

데이터 집합에는 다음 필드가 포함됩니다.

* `service_id`

* `service_date`

* `amount`

테이블에 두 개의 새 필드를 만듭니다.

* `deposit_due_date`: 보증금을 받아야 하는 날짜입니다. 이는 `service_date` 3일 전 날짜의 끝입니다.

* `final_payment_due_date`: 최종 지급을 받아야 하는 날짜입니다. 이는 `service_date` 7일 후 날짜의 끝입니다.

위의 두 필드는 `dayend()` 함수를 사용하여 이전 로드에서 만들어지고 처음 두 매개 변수 `time` 및 `period_no`를 제공합니다.

로드 스크립트

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 
						
Services: 
   Load 
     *, 
     dayend(service_date,-3) as deposit_due_date, 
     dayend(service_date,7) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

결과

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

결과 테이블

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 11:59:59 PM | 3/18/2022 11:59:59 PM |
| 2022/03/12 오전 10:06:54 | 2022/03/09 오후 11:59:59 | 3/19/2022 11:59:59 PM |
| 2022/03/13 오전 10:44:42 | 2022/03/10 오후 11:59:59 | 2022/03/20 오후 11:59:59 |
| 03/14/2022 11:33:30 AM | 3/11/2022 11:59:59 PM | 3/21/2022 11:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 11:59:59 PM | 3/22/2022 11:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 11:59:59 PM | 3/23/2022 11:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 11:59:59 PM | 3/24/2022 11:59:59 PM |
| 03/18/2022 7:41:16 PM | 2022년 3월 15일 오후 11시 59분 59초 | 3/25/2022 11:59:59 PM |
| 03/19/2022 8:14:15 PM | 2022년 3월 16일 오후 11시 59분 59초 | 3/26/2022 11:59:59 PM |
| 03/20/2022 9:23:51 PM | 2022년 3월 17일 오후 11시 59분 59초 | 2022년 3월 27일 오후 11시 59분 59초 |
| 03/21/2022 10:04:41 PM | 3/18/2022 11:59:59 PM | 2022년 3월 28일 오후 11시 59분 59초 |

새 필드의 값은 `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`에 있습니다. 함수 `dayend()`가 사용되었으므로 타임스탬프 값은 모두 그날의 마지막 밀리초입니다.

`dayend()` 함수에 전달된 두 번째 인수가 음수이므로 보증금 기한 값 값은 서비스 날짜 3일 전입니다.

`dayend()` 함수에 전달된 두 번째 인수가 양수이므로 최종 지급 기한 값은 서비스 날짜 7일 후입니다.

## 예 3 – day\_start 스크립트

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

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

개요

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

이 예에서 사용된 데이터 집합 및 시나리오는 이전 예와 동일합니다.

이전 예에서와 같이 두 개의 새 필드를 만듭니다.

* `deposit_due_date`: 보증금을 받아야 하는 날짜입니다. 이는 `service_date` 3일 전 날짜의 끝입니다.

* `final_payment_due_date`: 최종 지급을 받아야 하는 날짜입니다. 이는 `service_date` 7일 후 날짜의 끝입니다.

그러나 회사에서 근무일이 오후 5시에 시작하여 다음 날 오후 5시에 끝나는 정책으로 운영하려고 합니다. 그러면 회사에서 해당 근무 시간에 발생하는 트랜잭션을 모니터링할 수 있습니다.

이러한 요구 사항을 달성하기 위해 위의 두 필드는 `dayend()` 함수를 사용하여 이전 로드에서 만들어지고 세 인수 `time`, `period_no` 및 `day_start`를 모두 사용합니다.

로드 스크립트

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Services: 
   Load 
     *, 
     dayend(service_date,-3,17/24) as deposit_due_date, 
     dayend(service_date,7,17/24) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

결과

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

결과 테이블

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 4:59:59 PM | 3/18/2022 4:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 4:59:59 PM | 3/19/2022 4:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 4:59:59 PM | 3/20/2022 4:59:59 PM |
| 03/14/2022 11:33:30 AM | 2022년 3월 11일 오후 4시 59분 59초 | 2022년 3월 21일 오후 4시 59분 59초 |
| 2022년 3월 15일 오후 12시 58분 14초 | 2022년 3월 12일 오후 4시 59분 59초 | 2022년 3월 22일 오후 4시 59분 59초 |
| 2022년 3월 16일 오후 4:23:12 | 2022년 3월 13일 오후 4:59:59 | 2022년 3월 23일 오후 4:59:59 |
| 2022년 3월 17일 오후 6:42:15 | 2022년 3월 14일 오후 4:59:59 | 3/24/2022 4:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 4:59:59 PM | 3/25/2022 4:59:59 PM |
| 03/19/2022 8:14:15 PM | 2022년 3월 16일 오후 4시 59분 59초 | 2022년 3월 26일 오후 4시 59분 59초 |
| 2022년 3월 20일 오후 9시 23분 51초 | 2022년 3월 17일 오후 4시 59분 59초 | 2022년 3월 27일 오후 4시 59분 59초 |
| 2022년 03월 21일 오후 10시 04분 41초 | 2022년 03월 18일 오후 04시 59분 59초 | 2022년 03월 28일 오후 04시 59분 59초 |

날짜는 예 2와 동일하게 유지되지만 `dayend()` 함수에 전달된 세 번째 인수 `day_start`의 값이 17/24였으므로 날짜에는 이제 오후 5시 이전의 마지막 밀리초의 타임스탬프가 있습니다.

## 예 4 – 차트 예

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

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

개요

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

이 예에 사용된 데이터 집합과 시나리오는 앞의 두 예와 동일합니다. 회사에서 근무일이 오후 5시에 시작하여 다음 날 오후 5시에 끝나는 정책으로 운영하려고 합니다.

이전 예에서와 같이 두 개의 새 필드를 만듭니다.

* deposit\_due\_date: 보증금을 받아야 하는 날짜입니다. 이는 service\_date 3일 전 날짜의 끝입니다.

* final\_payment\_due\_date: 최종 지급을 받아야 하는 날짜입니다. 이는 service\_date 7일 후 날짜의 끝입니다.

로드 스크립트

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 

Services: 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

결과

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

service\_date의 앱 소스 예시를 참조하십시오.

deposit\_due\_date 필드를 만들려면 다음 측정값을 만듭니다.

=dayend(service\_date,-3,17/24).

그런 다음 final\_payment\_due\_date 필드를 만들려면 다음 측정값을 만듭니다.

=dayend(service\_date,7,17/24).

결과 테이블

| service\_date | =dayend(service\_date,-3,17/24) | =dayend(service\_date,7,17/24 |
| --- | --- | --- |
| 03/11/2022 | 2022년 03월 08일 오후 04시 59분 59초 | 2022년 03월 18일 오후 04시 59분 59초 |
| 03/12/2022 | 2022년 3월 9일 오후 4시 59분 59초 | 2022년 3월 19일 오후 4시 59분 59초 |
| 2022.03.13 | 2022년 3월 10일 오후 4시 59분 59초 | 2022년 3월 20일 오후 4시 59분 59초 |
| 03/14/2022 | 2022년 3월 11일 오후 4시 59분 59초 | 2022년 3월 21일 오후 4시 59분 59초 |
| 03/15/2022 | 2022년 3월 12일 오후 4시 59분 59초 | 2022년 3월 22일 오후 4시 59분 59초 |
| 03/16/2022 | 2022년 3월 13일 오후 4시 59분 59초 | 2022년 3월 23일 오후 4시 59분 59초 |
| 03/17/2022 | 3/14/2022 16:59:59 PM | 3/24/2022 16:59:59 PM |
| 03/18/2022 | 3/15/2022 16:59:59 PM | 3/25/2022 16:59:59 PM |
| 03/19/2022 | 3/16/2022 16:59:59 PM | 3/26/2022 16:59:59 PM |
| 03/20/2022 | 3/17/2022 16:59:59 PM | 3/27/2022 16:59:59 PM |
| 03/21/2022 | 3/18/2022 16:59:59 PM | 3/28/2022 16:59:59 PM |

새 필드의 값은 TimestampFormat M/D/YYYY h:mm:ss[.fff] TT에 있습니다. 함수 dayend()가 사용되었으므로 타임스탬프 값은 모두 그날의 마지막 밀리초입니다.

dayend() 함수에 전달된 두 번째 인수가 음수이므로 지급 기한 값은 서비스 날짜 3일 전입니다.

dayend() 함수에 전달된 두 번째 인수가 양수이므로 최종 지급 기한 값은 서비스 날짜 7일 후입니다.

dayend() 함수에 전달된 세 번째 인수 day\_start의 값이 17/24였으므로 날짜에는 오후 5시 이전의 마지막 밀리초의 타임스탬프가 있습니다.

## 자세한 정보

* [이전에 로드한 테이블에서 데이터 로드](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

인수

| 인수 | 설명 |
| --- | --- |
| time | 평가할 타임스탬프입니다. |
| period\_no | period\_no는 정수 또는 정수로 처리되는 표현식이며, 값 0은 time을 포함하는 날을 나타냅니다. period\_no가 음수 값일 경우 이전 날, 양수 값일 경우 이후 날을 나타냅니다. |
| day\_start | 하루가 자정에 시작되지 않도록 지정하려면 day\_start에 하루의 분위수로 오프셋을 지정합니다. 예를 들어 0.125는 오전 3:00을 나타냅니다. |