# inlunarweektodate 스크립트 및 차트 함수

이 함수는 timestamp가 base\_date의 마지막 밀리초까지 포함하여 음력 주의 일부에 속하는지 확인합니다. Qlik Sense에서 음력 주는 1월 1일을 주의 첫 번째 날로 계산하여 정의되며, 연도의 마지막 주를 제외하고 정확히 7일이 포함됩니다.

구문:

InLunarWeekToDate (timestamp, base\_date, period\_no [, first\_week\_day])

반환 데이터 유형: 부울

정보 메모

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

`inlunarweektodate()` 함수의 다이어그램 예

`inlunarweektodate()` 함수의 다이어그램 예

`inlunarweektodate()`inlunarweektodate() 함수의 다이어그램 예 ![inlunarweektodate 함수의 다이어그램 예이며, 입력 정보가 주어지면 이 함수가 TRUE 값을 반환하는 날짜를 보여 줍니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-overview.png)

`inlunarweektodate()` 함수는 음력 주간의 종료 지점 역할을 합니다. 반대로 `inlunarweek()` 함수는 `base_date`가 속하는 음력 주를 확인합니다. 예를 들어, `base_date`가 1월 5일이면 1월 1일과 1월 5일 사이의 모든 타임스탬프는 `TRUE` 부울 결과를 반환하고 1월 6일과 7일 및 이후 날짜는 `FALSE` 부울 결과를 반환합니다.

인수

| 인수 | 설명 |
| --- | --- |
| timestamp | base\_date와 비교할 날짜입니다. |
| base\_date | 음력 주를 평가하는 데 사용되는 날짜입니다. |
| period\_no | 음력 주는 period\_no로 오프셋을 지정할 수 있습니다. period\_no는 정수이며, 값 0은 base\_date를 포함하는 음력 주를 나타냅니다. period\_no가 음수 값일 경우 이전 음력 주, 양수 값일 경우 다음 음력 주를 나타냅니다. |
| first\_week\_day | 0보다 크거나 작을 수 있는 오프셋입니다. 이 함수는 지정된 일수 및/또는 일의 분위수에 따른 연도 시작 날짜를 변경합니다. |

## inlunarweektodate를 사용하는 경우

`inlunarweektodate()` 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 IF 표현식의 조건으로 사용됩니다. `inlunarweektodate()` 함수는 평가 날짜가 해당 주의 특정 세그먼트 동안 발생했는지 여부에 따라 사용자가 계산에서 집계 또는 계산을 반환하기를 원할 때 사용됩니다.

예를 들어, `inlunarweektodate()` 함수를 사용하여 특정 날짜를 포함하여 특정 주에 제조된 모든 장비를 식별할 수 있습니다.

함수 예

| 예제 | 결과 |
| --- | --- |
| `inlunarweektodate('01/12/2013', '01/13/2013',<br>						0)` | `timestamp`의 값인 01/12/2013이 01/08/2013 ~ 01/13/2013 주에 속하므로 `TRUE`를 반환합니다. |
| `inlunarweektodate('01/12/2013', '01/11/2013',<br>						0)` | 두 날짜가 01/12/2012 전의 동일한 음력 주에 속해도 `base_date` 값이 `timestamp` 값보다 이후이므로 `FALSE`를 반환합니다. |
| `inlunarweektodate('01/12/2006', '01/05/2006',<br>						1)` | `TRUE`을 반환합니다. `period_no`에 대해 1 값을 지정하면 `base_date`를 한 주 앞으로 시프트하므로 `timestamp` 값이 음력 주의 일부에 속하기 때문입니다. |

`inlunarweektodate()` 함수는 다음 함수와 함께 사용되는 경우가 많습니다.

관련 함수

| 함수 | 상호 작용 |
| --- | --- |
| [lunarweekname 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm) | 이 함수는 입력 날짜가 발생한 연도의 음력 주 수를 확인하는 데 사용됩니다. |

## 국가별 설정

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

## 예 1 – 추가 인수 없음

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

개요

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

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

* `Transactions`라는 테이블에 로드되는 1월의 트랜잭션 집합이 포함된 데이터 집합. 기본 `DateFormat` 시스템 변수 MM/DD/YYYY가 사용됩니다.

* 1월 10일까지 음력 주에 발생한 트랜잭션을 확인하는 필드 `in_lunar_week_to_date`를 만듭니다.

로드 스크립트

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

Transactions:
    Load
        *,
        inlunarweektodate(date,'01/10/2022', 0) as in_lunar_week_to_date
        ;
Load
*
Inline 
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

결과

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

* `date`

* `in_lunar_week_to_date`

결과 테이블

| 날짜 | 음력주누계 |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | 0 |
| 1/10/2022 | -1 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/15/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/21/2022 | 0 |
| 1/23/2022 | 0 |
| 1/26/2022 | 0 |
| 1/27/2022 | 0 |
| 1/29/2022 | 0 |
| 1/31/2022 | 0 |

`inlunarweektodate()` 함수, 추가 인수 없음

`inlunarweektodate()` 함수, 추가 인수 없음

`inlunarweektodate()`inlunarweektodate() 함수, 추가 인수 없음 ![inlunarweektodate 함수의 사용 예이며, 입력 정보가 주어지면 이 함수가 TRUE 값을 반환하는 날짜 범위를 보여 줍니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-no-additional-arguments.png)

`in_lunar_week_to_date` 필드는 `inlunarweektodate()` 함수를 사용하고 `date` 필드, 1월 10일의 하드 코딩된 날짜를 `base_date`로 전달하고 오프셋 0을 함수의 인수로 전달하여 선행 LOAD 문에서 만들어졌습니다.

음력 주는 1월 1일에 시작하므로 1월 10일은 1월 8일에 시작하는 음력 주에 속합니다. 그리고 `inlunarweektodate()` 함수를 사용하고 있으므로 해당 음력 주는 10일에 끝납니다. 따라서 1월의 두 날짜 사이에 발생한 모든 트랜잭션은 `TRUE`의 부울 값을 반환합니다. 이는 결과 테이블에서 검증됩니다.

## 예 2 – period\_no

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

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

개요

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

이 로드 스크립트에는 첫 번째 예와 동일한 데이터 집합 및 시나리오가 포함되어 있습니다. 그러나 이 예에서 작업은 음력 주 이후 2주 후부터 1월 1일까지 트랜잭션이 발생했는지 여부를 확인하는 필드 `2_lunar_weeks_later`를 만드는 것입니다.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY';
Transactions:
    Load
        *,
        inlunarweektodate(date,'01/10/2022', 2) as [2_lunar_weeks_later]
        ;
Load
*
Inline
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

결과

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

* `date`

* `2_lunar_weeks_later`

결과 테이블

| 날짜 | 2 음력주 후 |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | 0 |
| 1/10/2022 | 0 |
| 2022년 1월 11일 | 0 |
| 2022년 1월 12일 | 0 |
| 2022년 1월 15일 | 0 |
| 2022년 1월 17일 | 0 |
| 2022년 1월 18일 | 0 |
| 1/19/2022 | 0 |
| 2022년 1월 21일 | 0 |
| 2022년 1월 23일 | -1 |
| 2022년 1월 26일 | 0 |
| 2022년 1월 27일 | 0 |
| 2022년 1월 29일 | 0 |
| 1/31/2022 | 0 |

`inlunarweektodate()` 함수, period\_no 예

`inlunarweektodate()` 함수, period\_no 예

`inlunarweektodate()`inlunarweektodate() 함수, period\_no 예 ![inlunarweektodate 함수의 사용 예이며, 입력 정보가 주어지면 이 함수가 TRUE 값을 반환하는 날짜 범위를 보여 줍니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-period-no.png)

이 경우 `inlunarweektodate()` 함수는 1월 10일까지의 음력 주가 3일(1월 8일, 9일, 10일)에 해당한다고 확인합니다. 오프셋 인수로 `period_no`가 2로 사용되었으므로 이 음력 주는 14일로 이동합니다. 따라서 이는 1월 22일, 23일, 24일이 포함되도록 음력 주 3일을 정의합니다. 1월 22일과 1월 24일 사이에 발생하는 모든 트랜잭션은 부울 결과 `TRUE`를 반환합니다.

## 예 3 – first\_week\_day

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

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

개요

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

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

* 첫 번째 예와 동일한 데이터 집합 및 시나리오.

* 기본 `DateFormat` 시스템 변수 MM/DD/YYYY가 사용됩니다.

* 3인 `first_week_date` 인수. 음력 주가 1월 3일에 시작하도록 설정됩니다.

로드 스크립트

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

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 0,3) as in_lunar_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

결과

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

* `date`

* `in_lunar_week_to_date`

결과 테이블

| 날짜 | 음력주누계 |
| --- | --- |
| 1/1/2022 | 0 |
| 1/4/2022 | -1 |
| 1/10/2022 | -1 |
| 2022년 1월 11일 | 0 |
| 2022년 1월 12일 | 0 |
| 2022년 1월 15일 | 0 |
| 2022년 1월 17일 | 0 |
| 2022년 1월 18일 | 0 |
| 1/19/2022 | 0 |
| 2022년 1월 21일 | 0 |
| 2022년 1월 23일 | 0 |
| 2022년 1월 26일 | 0 |
| 2022년 1월 27일 | 0 |
| 2022년 1월 29일 | 0 |
| 2022년 1월 31일 | 0 |

`inlunarweektodate()` 함수, first\_week\_day 예

`inlunarweektodate()` 함수, first\_week\_day 예

`inlunarweektodate()`inlunarweektodate() 함수, first\_week\_day 예 ![inlunarweektodate 함수의 사용 예이며, 입력 정보가 주어지면 이 함수가 TRUE 값을 반환하는 날짜 범위를 보여 줍니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-first-week-date.png)

이 경우 `inlunarweek()` 함수에서 3인 `the first_week_date` 인수를 사용하므로 첫 번째 음력 주는 1월 3일 ~ 1월 10일이 됩니다. 1월 10일도 `base_date`이므로 이 두 날짜 사이에 있는 모든 트랜잭션은 부울 값 `TRUE`를 반환합니다.

## 예 4 - 차트 개체 예

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

개요

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

이 로드 스크립트에는 첫 번째 예와 동일한 데이터 집합 및 시나리오가 포함되어 있습니다.

그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. 트랜잭션이 1월 10일까지의 음력 주에 발생했는지 여부를 확인하는 계산은 응용 프로그램의 차트 개체에서 측정값으로 만들어집니다.

로드 스크립트

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

Transactions: 
Load
*
Inline
[
id,date,amount
8188,'1/10/2022',37.23
8189,'1/17/2022',17.17
8190,'1/26/2022',88.27
8191,'1/12/2022',57.42
8192,'1/19/2022',53.80
8193,'1/21/2022',82.06
8194,'1/1/2022',40.39
8195,'1/27/2022',87.21
8196,'1/11/2022',95.93
8197,'1/29/2022',45.89
8198,'1/31/2022',36.23
8199,'1/18/2022',25.66
8200,'1/23/2022',82.77
8201,'1/15/2022',69.98
8202,'1/4/2022',76.11
];
```

결과

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

다음 측정값을 만듭니다.

=inlunarweektodate(date,'01/10/2022', 0)

결과 테이블

| 날짜 | =inlunarweektodate(date,'01/10/2022', 0) |
| --- | --- |
| 2022년 1월 1일 | 0 |
| 2022년 1월 4일 | 0 |
| 2022년 1월 10일 | -1 |
| 2022년 1월 11일 | 0 |
| 2022년 1월 12일 | 0 |
| 2022년 1월 15일 | 0 |
| 2022년 1월 17일 | 0 |
| 2022년 1월 18일 | 0 |
| 1/19/2022 | 0 |
| 2022년 1월 21일 | 0 |
| 2022년 1월 23일 | 0 |
| 2022년 1월 26일 | 0 |
| 2022년 1월 27일 | 0 |
| 2022년 1월 29일 | 0 |
| 1/31/2022 | 0 |

inlunarweektodate() 함수, 차트 개체 예

inlunarweektodate() 함수, 차트 개체 예

inlunarweektodate()inlunarweektodate() 함수, 차트 개체 예 ![inlunarweektodate 함수를 사용하는 다이어그램 예이며, 1월 10일이 포함된 음력 주에 트랜잭션이 발생하는지 여부를 확인하는 차트 표현식을 사용합니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweektodate-example-chart-object.png)

in\_lunar\_week\_to\_date 측정값은 inlunarweektodate() 함수를 사용하고 날짜 필드, 1월 10일에 대한 하드 코딩된 날짜를 base\_date로 전달하고 오프셋 0을 함수의 인수로 전달하여 차트 개체에서 만들어집니다.

음력 주는 1월 1일에 시작하므로 1월 10일은 1월 8일에 시작하는 음력 주에 속합니다. 또한 inlunarweektodate() 함수를 사용하고 있으므로 해당 음력 주는 10일에 끝납니다. 따라서 1월의 두 날짜 사이에 발생한 모든 트랜잭션은 TRUE의 부울 값을 반환합니다. 이는 결과 테이블에서 검증됩니다.

## 예 5 - 시나리오

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

개요

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

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

* Products라는 테이블에 로드되는 데이터 집합.

* 제품 ID, 제조 날짜, 원가로 구성된 정보.

장비 오류로 인해 1월 12일 음력 주에 제조된 제품에 결함이 있는 것으로 확인되었습니다. 문제는 1월 13일에 해결되었습니다. 최종 사용자는 제조된 제품이 '결함' 또는 '무결함'인 상태와 해당 주에 제조된 제품의 비용을 주별로 표시하는 차트 개체를 원합니다.

로드 스크립트

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

Products:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
8188,'01/02/2022 12:22:06',37.23
8189,'01/05/2022 01:02:30',17.17
8190,'01/06/2022 15:36:20',88.27
8191,'01/08/2022 10:58:35',57.42
8192,'01/09/2022 08:53:32',53.80
8193,'01/10/2022 21:13:01',82.06
8194,'01/11/2022 00:57:13',40.39
8195,'01/12/2022 09:26:02',87.21
8196,'01/13/2022 15:05:09',95.93
8197,'01/14/2022 18:44:57',45.89
8198,'01/15/2022 06:10:46',36.23
8199,'01/16/2022 06:39:27',25.66
8200,'01/17/2022 10:44:16',82.77
8201,'01/18/2022 18:48:17',69.98
8202,'01/26/2022 04:36:03',76.11
8203,'01/27/2022 08:07:49',25.12
8204,'01/28/2022 12:24:29',46.23
8205,'01/30/2022 11:56:56',84.21
8206,'01/30/2022 14:40:19',96.24
8207,'01/31/2022 05:28:21',67.67
];
```

결과

다음과 같이 하십시오.

1. 데이터를 로드하고 시트를 엽니다. 새 테이블을 만듭니다.

2. 주 이름을 표시할 차원을 만듭니다.

   =weekname(manufacture\_date)

3. 다음으로, 결함이 있는 제품과 결함이 없는 제품을 식별하는 inlunarweektodate() 함수를 사용하는 차원을 만듭니다.

   =if(inlunarweektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless')

4. 제품의 cost\_price 합계를 계산하는 측정값을 만듭니다.

   =sum(cost\_price)

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

결과 테이블

| =lunarweekname(제조일) | =if(InLunarWeekToDate(제조일,makedate(2022,01,12),0),'결함','결함 없음') | =sum(cost\_price) |
| --- | --- | --- |
| 2022/01 | 무결함 | $142.67 |
| 2022/02 | 결함 | $320.88 |
| 2022/02 | 무결함 | $141.82 |
| 2022/03 | 무결함 | $214.64 |
| 2022/04 | 무결함 | $147.46 |
| 2022/05 | 무결함 | $248.12 |

inlunarweektodate() 함수는 각 제품의 제조 날짜를 평가할 때 부울 값을 반환합니다. 부울 값 TRUE를 반환하는 경우 제품을 ‘Defective’로 표시합니다. FALSE 값을 반환하는 제품의 경우 1월 12일까지의 음력 주에 제조되지 않은 경우 제품을 ‘Faultless’로 표시합니다.