# inmonth - 스크립트 및 차트 함수

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

구문:

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

`indaytotime` 함수 다이어그램.

`indaytotime` 함수 다이어그램.

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

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

사용 시기

`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`가 음수 값일 경우 이전 달, 양수 값일 경우 다음 달을 나타냅니다. |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 `SET DateFormat` 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.

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

함수 예

| 예 | 결과 |
| --- | --- |
| ` 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/sense/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/sense/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 |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | -1 |
| 2/2/2022 | -1 |
| 2/20/2022 | -1 |
| 4/11/2022 | 0 |
| 4/13/2022 | 0 |
| 4/15/2022 | 0 |
| 4/25/2022 | 0 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

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

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

## 예 3 – 차트 개체

[](https://help.qlik.com/en-US/sense/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) |
| --- | --- |
| 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 |

## 예 4 – 시나리오

[](https://help.qlik.com/en-US/sense/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'로 표시합니다.