# inmonth 스크립트 및 차트 함수

timestamp가 base\_date를 포함하는 월에 속할 경우 이 함수는 True를 반환합니다.

구문:

InMonth (timestamp, base\_date, period\_no)

`indaytotime` 함수 다이어그램.

`indaytotime` 함수 다이어그램.

`indaytotime`indaytotime 함수 다이어그램. ![inmonth 함수의 조건을 보여 주는 다이어그램.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

즉, `inmonth()` 함수는 날짜 집합이 이 달에 속하는지 여부를 결정하고 해당 월을 식별하는 `base_date`를 기준으로 부울 값을 반환합니다.

inmonth를 사용하는 경우

`inmonth()` 함수는 부울 결과를 반환합니다. 일반적으로 이 유형의 함수는 `if expression`의 조건으로 사용됩니다. 이는 해당 날짜를 포함하여 날짜가 해당 월에 발생했는지 여부에 따라 집계 또는 계산을 반환합니다.

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

반환 데이터 유형: 부울

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

인수

| 인수 | 설명 |
| --- | --- |
| 타임스탬프 | `base_date`와 비교할 날짜입니다. |
| base\_date | 월을 평가하는 데 사용되는 날짜입니다. `base_date`는 한 달 중 어느 날이든 될 수 있다는 점에 유의해야 합니다. |
| period\_no | 월은 `period_no`로 오프셋을 지정할 수 있습니다. `period_no`는 정수이며, 값 0은 `base_date`를 포함하는 월을 나타냅니다. `period_no`가 음수 값일 경우 이전 달, 양수 값일 경우 다음 달을 나타냅니다. |

## 국가별 설정

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

함수 예

| 예제 | 결과 |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | True 반환 |
| `inmonth('25/01/2013', '23/04/2013', 0)` | False 반환 |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | False 반환 |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | True 반환 |

## 예 1 – 추가 인수 없음

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

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

개요

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

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

* 2022년 상반기에 대한 트랜잭션 집합이 포함된 데이터 집합.

* 추가 변수 '`in_month`'를 사용한 선행 LOAD, 트랜잭션이 4월에 발생했는지 여부를 결정합니다.

로드 스크립트

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

Transactions: 
  Load 
    *, 
    inmonth(date,'04/01/2022', 0) as in_month 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

결과

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

* `date`
* `in_month`

함수 예

| 날짜 | in\_month |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

'`in_month`' 필드는 `inmonth()` 함수를 사용하고, 4월 1일의 하드 코딩된 날짜 필드를 `base_date`로 전달하고, `period_no`(`0`)를 함수의 인수로 전달하여 선행 LOAD 문에서 만들어집니다.

`base_date`는 TRUE의 부울 결과를 반환할 월을 식별합니다. 따라서 4월에 발생한 모든 트랜잭션은 결과 테이블에서 유효성이 검사된 TRUE를 반환합니다.

## 예 2 – period\_no

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

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

개요

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

그러나 이 예에서는 트랜잭션이 4월의 2개월 전에 발생했는지 여부를 결정하는 '`2_months_prior`' 필드를 만듭니다.

로드 스크립트

```
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
   *, 
   inmonth(date,'04/01/2022', -2) as [2_months_prior] 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

결과

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

* `date`
* `2_months_prior`

함수 예

| 날짜 | 2\_months\_prior |
| --- | --- |
| 2022/1/10 | 0 |
| 2022/1/14 | 0 |
| 2022/1/20 | 0 |
| 2022/1/22 | 0 |
| 2022/2/1 | -1 |
| 2022년 2월 2일 | -1 |
| 2022년 2월 20일 | -1 |
| 2022년 4월 11일 | 0 |
| 2022년 4월 13일 | 0 |
| 2022년 4월 15일 | 0 |
| 2022년 4월 25일 | 0 |
| 2022년 5월 20일 | 0 |
| 5/22/2022 | 0 |
| 2022년 6월 19일 | 0 |
| 2022년 6월 22일 | 0 |

-2를 `inmonth()` 함수의 `period_no` 인수로 사용하면 `base_date` 인수로 정의된 월이 2개월 전으로 이동합니다. 이 예에서는 정의된 월을 4월에서 2월로 변경합니다.

따라서 2월에 발생한 모든 트랜잭션은 TRUE의 부울 결과를 반환합니다.

## 예 3 – 차트 개체

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

#### 표현식

개요

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

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

로드 스크립트

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

차트 개체

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

`date`

트랜잭션이 4월에 발생했는지 여부를 계산하려면 다음 측정값을 만듭니다.

`=inmonth(date,'04/01/2022', 0)`

결과

함수 예

| 날짜 | =inmonth(date,'04/01/2022', 0) |
| --- | --- |
| 2022년 1월 10일 | 0 |
| 2022/1/14 | 0 |
| 2022/1/20 | 0 |
| 2022/1/22 | 0 |
| 2022/2/1 | 0 |
| 2022/2/2 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 2022/5/20 | 0 |
| 5/22/2022 | 0 |
| 2022/6/19 | 0 |
| 2022/6/22 | 0 |

## 예 4 – 시나리오

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

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

개요

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

* 제품 ID

* 제조 날짜

* 가격

2022년 7월에 제조된 제품은 장비 오류로 인해 결함이 있는 것으로 확인되었습니다. 이 문제는 2022년 7월 27일에 해결되었습니다.

최종 사용자는 '결함'(부울 TRUE) 또는 '무결함'(부울 FALSE)으로 제조된 제품의 상태와 해당 월에 제조된 제품의 비용을 월별로 표시하는 차트를 원합니다.

로드 스크립트

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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 
]; 
```

결과

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

`=monthname(manufacture_date)`

다음 측정값을 만듭니다.

* `=sum(cost_price)`

* `=if(only(inmonth(manufacture_date,makedate(2022,07,01),0)),'Defective','Faultless')`

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

2. 모양에서 합계를 끕니다.

결과 테이블

| monthname(manufacture\_date) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),0)),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| Jan 2022 | 무결함 | $54.40 |
| Feb 2022 | 무결함 | $145.69 |
| Mar 2022 | 무결함 | $53.80 |
| Apr 2022 | 무결함 | $82.06 |
| May 2022 | 무결함 | $127.60 |
| Jun 2022 | 무결함 | $141.82 |
| Jul 2022 | 결함 | $214.64 |
| Aug 2022 | 무결함 | $147.46 |
| Sep 2022 | 무결함 | $84.21 |
| Oct 2022 | 무결함 | $163.91 |

`inmonth()` 함수는 각 제품의 제조 날짜를 평가할 때 부울 값을 반환합니다. 2022년 7월에 제조된 모든 제품의 경우 `inmonth()` 함수는 부울 값 True를 반환하고 제품을 'Defective'로 표시합니다. False 값을 반환하여 7월에 제조되지 않은 제품의 경우 제품을 'Faultless'로 표시합니다.