# indaytotime 스크립트 및 차트 함수

이 함수는 timestamp가 base\_timestamp의 정확한 밀리초까지 포함하여 base\_timestamp를 포함한 날의 일부에 속할 경우 True를 반환합니다.

구문:

InDayToTime (timestamp, base\_timestamp, period\_no[, day\_start])

`indaytotime()` 함수는 하루의 세그먼트 동안 타임스탬프 값이 발생하는 시기에 따라 부울 결과를 반환합니다. 이 세그먼트의 시작 경계는 기본적으로 자정으로 설정되는 날짜의 시작입니다. 날짜의 시작은 `indaytotime()` 함수의 `day_start` 인수로 수정할 수 있습니다. 하루 세그먼트의 끝 경계는 함수의 `base_timestamp` 인수에 의해 결정됩니다.

`indaytotime` 함수 다이어그램.

`indaytotime` 함수 다이어그램.

`indaytotime`indaytotime 함수 다이어그램. ![indaytotime 함수의 변수 간의 관계를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

indaytotime를 사용하는 경우

`indaytotime()` 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 `if expression`의 조건으로 사용됩니다. `indaytotime()` 함수는 기준 타임스탬프의 시간을 포함하여 해당 날짜의 세그먼트에서 타임스탬프가 발생했는지 여부에 따라 집계 또는 계산을 반환합니다.

예를 들어, `indaytotime()` 함수를 사용하여 오늘까지 발생한 상영의 티켓 판매 합계를 표시할 수 있습니다.

반환 데이터 유형: 부울

Qlik Sense에서 부울 true 값은 -1로 표시되고 false 값은 0으로 표시됩니다.

인수

| 인수 | 설명 |
| --- | --- |
| ` timestamp  ` | `base_timestamp`와 비교할 날짜 및 시간입니다. |
| ` base_timestamp  ` | 타임스탬프를 평가하는 데 사용되는 날짜와 시간입니다. |
| ` period_no  ` | 일은 `period_no`로 오프셋을 지정할 수 있습니다. `period_no`는 정수이며, 값 0은 `base_timestamp`를 포함하는 날을 나타냅니다. `period_no`가 음수 값일 경우 이전 날, 양수 값일 경우 이후 날을 나타냅니다. |
| ` day_start  ` | (선택 사항) 작업일이 자정부터 시작되지 않도록 하려면 `day_start`에 일의 분위수 형식으로 오프셋을 지정하십시오. 예를 들어 0.125를 사용하여 오전 3시를 나타냅니다. |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다: 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)을 참조하십시오.

함수 예

| 예제 | 결과 |
| --- | --- |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', 0) | True 반환 |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | False 반환 |
| `indaytotime` '01/11/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', -1) | True 반환 |

## 예 1 – 추가 인수 없음

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

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

개요

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

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

* 1월 4일에서 5일 사이의 기간에 대한 트랜잭션 집합을 포함하는 데이터 집합이 'Transactions'라는 테이블에 로드됩니다.

* `TimeStamp` 시스템 변수 `(M/D/YYYY h:mm:ss[.fff] TT)` 형식으로 제공되는 날짜 필드.

* 각 트랜잭션이 오전 9시 이전에 발생하는지 여부를 결정하는 `'in_day_to_time'` 필드로 설정된 `indaytotime()` 함수를 포함하는 선행 LOAD입니다.

로드 스크립트

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM',0) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

결과

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

* `date`

* `in_day_to_time`

결과 테이블

| 날짜 | 일일시간 |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

예 1 오전 9시 제한이 있는 `indaytotime` 함수의 다이어그램..

예 1 오전 9시 제한이 있는 `indaytotime` 함수의 다이어그램..

예 1 오전 9시 제한이 있는 `indaytotime`indaytotime 함수의 다이어그램.. ![9시 제한이 있는 indaytotime() 함수를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

`in_day_to_time field`는 `indaytotime()` 함수를 사용하고 날짜 필드, 1월 5일 오전 9시에 대한 하드 코딩된 타임스탬프 및 함수의 인수로 오프셋 0을 전달하여 이전 LOAD 문에서 만들어졌습니다. 1월 5일 자정과 오전 9시 사이에 발생한 모든 트랜잭션은 TRUE를 반환합니다.

## 예 2 – period\_no

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

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

개요

로드 스크립트는 첫 번째 예에서 사용한 것과 동일한 데이터 집합 및 시나리오를 사용합니다.

그러나 이 예에서는 트랜잭션 날짜가 1월 5일 오전 9시 이전에 발생했는지 여부를 계산합니다.

로드 스크립트

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', -1) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

결과

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

* `date`

* `in_day_to_time`

결과 테이블

| 날짜 | 일일 시간 |
| --- | --- |
| 01/04/2022 3:41:54 AM | -1 |
| 01/04/2022 4:19:43 AM | -1 |
| 01/04/2022 04:53:47 AM | -1 |
| 01/04/2022 8:38:53 AM | -1 |
| 2022년 01월 04일 오전 10:37:52 | 0 |
| 2022년 01월 04일 오후 1:54:10 | 0 |
| 2022년 01월 04일 오후 5:53:23 | 0 |
| 2022년 01월 04일 오후 8:13:26 | 0 |
| 2022년 01월 04일 오후 10:00:49 | 0 |
| 2022년 01월 05일 오전 7시 45분 37초 | 0 |
| 2022년 01월 05일 오전 8시 44분 36초 | 0 |
| 2022년 01월 05일 오전 11시 26분 08초 | 0 |
| 2022년 01월 05일 오후 6시 43분 08초 | 0 |
| 2022년 01월 05일 오후 10시 54분 10초 | 0 |
| 2022년 01월 05일 오후 11시 09분 09초 | 0 |

예 2 1월 4일의 트랜잭션이 있는 `indaytotime` 함수 다이어그램.

예 2 1월 4일의 트랜잭션이 있는 `indaytotime` 함수 다이어그램.

예 2 1월 4일의 트랜잭션이 있는 `indaytotime`indaytotime 함수 다이어그램. ![period_no을 -1로 사용하여 1월 4일의 트랜잭션을 반환하는 indaytotime() 함수를 보여 주는 다이어그램](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

이 예에서는 -1의 오프셋이 `indaytotime()` 함수의 오프셋 인수로 사용되었으므로 함수는 각 트랜잭션 날짜가 1월 4일 오전 9시 이전에 발생했는지 확인합니다. 이는 트랜잭션이 TRUE의 부울 결과를 반환하는 출력 테이블에서 확인할 수 있습니다.

## 예 3 – day\_start

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

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

개요

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

그러나 이 예에서 회사 정책은 근무일이 오전 8시에 시작되고 끝나는 것입니다.

로드 스크립트

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

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', 0,8/24) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

결과

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

* `date`

* `in_day_to_time`

결과 테이블

| 날짜 | 일일시간 |
| --- | --- |
| 2022년 01월 04일 오전 3시 41분 54초 | 0 |
| 2022년 01월 04일 오전 4시 19분 43초 | 0 |
| 2022년 01월 04일 오전 4시 53분 47초 | 0 |
| 2022년 01월 04일 오전 8시 38분 53초 | 0 |
| 2022년 01월 04일 오전 10시 37분 52초 | 0 |
| 2022년 01월 04일 오후 1시 54분 10초 | 0 |
| 2022년 01월 04일 오후 5시 53분 23초 | 0 |
| 2022년 01월 04일 오후 8시 13분 26초 | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 2022년 01월 05일 오후 10:54:10 | 0 |
| 2022년 01월 05일 오후 11:09:09 | 0 |

예 3 오전 8시부터 오전 9시까지 트랜잭션이 있는 `indaytotime` 함수 다이어그램,

예 3 오전 8시부터 오전 9시까지 트랜잭션이 있는 `indaytotime` 함수 다이어그램,

예 3 오전 8시부터 오전 9시까지 트랜잭션이 있는 `indaytotime`indaytotime 함수 다이어그램, ![오전 8시부터 오전 9시까지의 트랜잭션을 보여 주는 indaytotime() 함수를 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

`indaytotime()` 함수에서 `start_day` 인수에 8/24(오전 8시에 해당)을 사용하기 때문에 매일 오전 8시에 시작하고 끝납니다. 따라서 `indaytotime()` 함수는 1월 5일 오전 8시에서 오전 9시 사이에 발생한 모든 트랜잭션에 대해 부울 결과 TRUE를 반환합니다.

## 예 4 – 차트 개체

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

#### 표현식

개요

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

그러나 이 예에서 데이터 집합은 변경되지 않고 응용 프로그램에 로드됩니다. 차트 개체에서 측정값을 만들어 트랜잭션이 1월 5일 오전 9시 이전에 발생하는지 확인하기 위해 계산합니다.

로드 스크립트

```

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

결과

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

`date`.

트랜잭션이 1월 5일 오전 9시 이전에 발생하는지 확인하려면 다음 측정값을 만듭니다.

`=indaytotime(date,'01/05/2022 9:00:00 AM',0)`

결과 테이블

| 날짜 | =indaytotime(date,'2022년 01월 05일 오전 9:00:00',0) |
| --- | --- |
| 2022년 01월 04일 오전 3:41:54 | 0 |
| 2022년 01월 04일 오전 4:19:43 | 0 |
| 2022년 1월 4일 오전 4시 53분 47초 | 0 |
| 2022년 1월 4일 오전 8시 38분 53초 | 0 |
| 2022년 1월 4일 오전 10시 37분 52초 | 0 |
| 2022년 1월 4일 오후 1시 54분 10초 | 0 |
| 2022년 1월 4일 오후 5시 53분 23초 | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 2022년 01월 05일 오후 6:43:08 | 0 |
| 2022년 01월 05일 오후 10:54:10 | 0 |
| 2022년 01월 05일 오후 11:09:09 | 0 |

`in_day_to_time` 측정값은 `indaytotime()` 함수를 사용하고 날짜 필드, 1월 5일 오전 9시에 대한 하드 코딩된 타임스탬프 및 오프셋 `0`을 함수의 인수로 전달하여 차트 개체에서 만들어집니다. 1월 5일 자정과 오전 9시 사이에 발생한 모든 트랜잭션은 TRUE를 반환합니다. 이는 결과 테이블에서 검증됩니다.

## 예 5 – 시나리오

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

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

개요

이 예에서 지역 영화관에 대한 티켓 판매가 포함된 데이터 집합은 Ticket\_Sales라는 테이블에 로드됩니다. 오늘은 2022년 5월 3일 오전 11시입니다.

사용자는 KPI 차트 개체에 오늘까지 발생한 모든 상영에서 얻은 매출을 표시하기를 원합니다.

로드 스크립트

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

Ticket_Sales:
Load
*
Inline 
[
sale ID, show time, ticket price
1,05/01/2022 09:30:00 AM,10.50
2,05/03/2022 05:30:00 PM,21.00
3,05/03/2022 09:30:00 AM,10.50
4,05/03/2022 09:30:00 AM,31.50
5,05/03/2022 09:30:00 AM,10.50
6,05/03/2022 12:00:00 PM,42.00
7,05/03/2022 12:00:00 PM,10.50
8,05/03/2022 05:30:00 PM,42.00
9,05/03/2022 08:00:00 PM,31.50
10,05/04/2022 10:30:00 AM,31.50
11,05/04/2022 12:00:00 PM,10.50
12,05/04/2022 05:30:00 PM,10.50
13,05/05/2022 05:30:00 PM,21.00
14,05/06/2022 12:00:00 PM,21.00
15,05/07/2022 09:30:00 AM,42.00
16,05/07/2022 10:30:00 AM,42.00
17,05/07/2022 10:30:00 AM,10.50
18,05/07/2022 05:30:00 PM,10.50
19,05/08/2022 05:30:00 PM,21.00
20,05/11/2022 09:30:00 AM,10.50
];
```

결과

다음과 같이 하십시오.

1. KPI 개체를 만듭니다.

2. indaytotime() 함수를 사용하여 오늘까지 발생한 상영의 모든 티켓 판매 합계를 표시하는 측정값을 만듭니다.

=sum(if(indaytotime([show time],'05/03/2022 11:00:00 AM',0),[ticket price],0))

1. KPI 개체 '현재 매출'에 대한 레이블을 만듭니다.

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

2022년 5월 3일 오전 11시까지의 티켓 판매 총액은 $52.50입니다.

indaytotime () 함수는 각 티켓 판매의 상영 시간을 현재 시간('2022/05/03 오전 11:00:00')과 비교할 때 부울 값을 반환합니다. 5월 3일 오전 11시 이전의 모든 상영의 경우 indaytotime () 함수는 TRUE의 부울 값을 반환하고 해당 티켓 가격은 합계에 포함됩니다.