# dayend 스크립트 및 차트 함수

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

구문:

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

사용 시기

`  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` 문에 지정됩니다.기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다.아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다.또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.

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

함수 예

| 예제 | 결과 |
| --- | --- |
| 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/sense/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 | 3/11/2022 11:59:59 PM |
| 03/12/2022 4:34:58 AM | 3/12/2022 11:59:59 PM |
| 03/13/2022 5:15:55 AM | 3/13/2022 11:59:59 PM |
| 03/14/2022 9:25:14 AM | 3/14/2022 11:59:59 PM |
| 03/15/2022 10:06:54 AM | 3/15/2022 11:59:59 PM |
| 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/sense/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 |
| 03/12/2022 10:06:54 AM | 3/9/2022 11:59:59 PM | 3/19/2022 11:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 11:59:59 PM | 3/20/2022 11:59:59 PM |
| 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 | 3/15/2022 11:59:59 PM | 3/25/2022 11:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 11:59:59 PM | 3/26/2022 11:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 11:59:59 PM | 3/27/2022 11:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 11:59:59 PM | 3/28/2022 11:59:59 PM |

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

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

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

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

[](https://help.qlik.com/en-US/sense/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 | 3/11/2022 4:59:59 PM | 3/21/2022 4:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 4:59:59 PM | 3/22/2022 4:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 4:59:59 PM | 3/23/2022 4:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 4:59:59 PM | 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 | 3/16/2022 4:59:59 PM | 3/26/2022 4:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 4:59:59 PM | 3/27/2022 4:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 4:59:59 PM | 3/28/2022 4:59:59 PM |

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

## 예 4 – 차트 예

[](https://help.qlik.com/en-US/sense/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 | 3/8/2022 16:59:59 PM | 3/18/2022 16:59:59 PM |
| 03/12/2022 | 3/9/2022 16:59:59 PM | 3/19/2022 16:59:59 PM |
| 2022.03.13 | 3/10/2022 16:59:59 PM | 3/20/2022 16:59:59 PM |
| 03/14/2022 | 3/11/2022 16:59:59 PM | 3/21/2022 16:59:59 PM |
| 03/15/2022 | 3/12/2022 16:59:59 PM | 3/22/2022 16:59:59 PM |
| 03/16/2022 | 3/13/2022 16:59:59 PM | 3/23/2022 16:59:59 PM |
| 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/sense/May2026/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을 나타냅니다. |