# networkdays 스크립트 및 차트 함수

networkdays 함수는 선택적으로 나열된 holiday를 고려하여 start\_date(포함)와 end\_date(포함) 사이의 근무일(월요일 ~ 금요일)의 수를 반환합니다.

구문:

networkdays (start\_date, end\_date [, holiday])

반환 데이터 유형: 정수

networkdays 함수에서 반환된 날짜 범위를 표시하는 캘린더 다이어그램

networkdays 함수에서 반환된 날짜 범위를 표시하는 캘린더 다이어그램

networkdays 함수에서 반환된 날짜 범위를 표시하는 캘린더 다이어그램 ![여기에 대체 텍스트를 추가하세요........!!!!!!](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-general-calendar.png)

`networkdays` 함수에는 다음과 같은 제한 사항이 있습니다.

* 근무일을 수정하는 방법이 없습니다. 즉, 월요일부터 금요일까지 근무하는 것 외에는 지역이나 상황에 따라 함수를 수정할 수 있는 방법이 없습니다.

* `holiday` 매개 변수는 문자열 상수여야 합니다. 표현식은 허용되지 않습니다.

인수

| 인수 | 설명 |
| --- | --- |
| start\_date | 평가할 시작 날짜입니다. |
| end\_date | 평가할 끝 날짜입니다. |
| holiday | 근무일에서 제외시킬 공휴일 기간입니다. 휴일은 문자열 상수 날짜로 표시됩니다. 여러 휴일 날짜를 쉼표로 구분하여 지정할 수 있습니다.<br><br>`  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## networkdays를 사용하는 경우

`networkdays()` 함수는 일반적으로 사용자가 두 날짜 사이에 발생하는 근무 일수를 사용하여 계산하려고 할 때 표현식의 일부로 사용됩니다. 예를 들어, 사용자가 PAYE(Pay-as-you-earn) 계약에 따라 직원이 받을 총 임금을 계산하려는 경우입니다.

함수 예

| 예제 | 결과 |
| --- | --- |
| `networkdays ('12/19/2013', '01/07/2014')` | 14을 반환합니다. 이 예에서는 공휴일을 고려하지 않습니다. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013')` | 12을 반환합니다. 이 예에서는 12/25/2013 ~ 12/26/2013의 공휴일을 고려합니다. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014')` | 10을 반환합니다. 이 예에서는 2번의 공휴일 기간을 고려합니다. |

## 국가별 설정

달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다: 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 – 기본 예

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

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

개요

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

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

* 프로젝트 ID, 시작 날짜 및 끝 날짜가 포함된 데이터 집합. 이 정보는 `Projects`라는 테이블에 로드됩니다.

* `DateFormat` 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.

* 각 프로젝트에 관련된 근무일 수를 계산하기 위해 추가 필드 `net_work_days` 만들기.

로드 스크립트

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

Projects:
    Load
        *,
        networkdays(start_date,end_date) as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

결과

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

결과 테이블

| ID | 시작일 | 종료일 | 순 근무일수 |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 2022/01/18 | 12 |
| 2 | 2022/02/10 | 2022/02/17 | 6 |
| 3 | 2022/05/17 | 2022/07/05 | 36 |
| 4 | 2022/06/01 | 2022년 06월 12일 | 8 |
| 5 | 2022년 08월 10일 | 2022년 08월 26일 | 13 |

예정된 휴일(`networkdays()` 함수의 세 번째 인수에 있었어야 함)이 없으므로, 이 함수는 `end_date`에서 `start_date`를 빼고 모든 주말 수도 제외하여 두 날짜 사이의 근무일 수를 계산합니다.

프로젝트 5의 근무일을 강조하는 캘린더 다이어그램(휴일 없음)

프로젝트 5의 근무일을 강조하는 캘린더 다이어그램(휴일 없음)

프로젝트 5의 근무일을 강조하는 캘린더 다이어그램(휴일 없음) ![ID가 5인 데이터 집합의 프로젝트 근무일을 보여 주는 8월의 캘린더 다이어그램입니다. 여기에서 토요일과 일요일은 제외하고 2022년 8월 10일부터 26일까지의 모든 요일(월요일~금요일)이 강조 표시되어 있습니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-basic.png)

위의 캘린더는 `id`가 5인 프로젝트를 시각적으로 설명합니다. 프로젝트 5는 2022년 8월 10일 수요일에 시작하여 2022년 8월 26일에 끝납니다. 모든 토요일과 일요일을 무시하면 이 두 날짜 사이에 13일의 근무일이 있습니다.

## 예 2 – 단일 휴일

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

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

개요

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

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

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

* `DateFormat` 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.

* 각 프로젝트에 관련된 근무일 수를 계산하기 위해 추가 필드 `net_work_days` 만들기.

이 예에서는 2022년 8월 19일에 1일 휴일이 예정되어 있습니다.

로드 스크립트

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

Projects:
    Load
        *,
        networkdays(start_date,end_date,'08/19/2022') as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

결과

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

결과 테이블

| ID | 시작일 | 종료일 | 순 근무일수 |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 2022/01/18 | 12 |
| 2 | 2022/02/10 | 2022/02/17 | 6 |
| 3 | 2022/05/17 | 2022/07/05 | 36 |
| 4 | 2022/06/01 | 2022년 06월 12일 | 8 |
| 5 | 2022년 08월 10일 | 2022년 08월 26일 | 12 |

`networkdays()` 함수의 세 번째 인수로 예정된 단일 휴일이 입력됩니다.

프로젝트 5의 근무일을 강조 표시하는 캘린더 다이어그램(단일 휴일)

프로젝트 5의 근무일을 강조 표시하는 캘린더 다이어그램(단일 휴일)

프로젝트 5의 근무일을 강조 표시하는 캘린더 다이어그램(단일 휴일) ![ID가 5인 데이터 집합에서 프로젝트 근무일을 보여 주는 8월의 캘린더 다이어그램입니다. 여기서는 2022년 8월 19일(휴일)을 제외하고 2022년 8월 10일부터 26일까지의 모든 요일(월요일~금요일)이 강조 표시되어 있습니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-single-holiday.png)

위의 캘린더에는 프로젝트 5를 시각적으로 요약하여 이 휴일을 포함하도록 조정되어 있습니다. 프로젝트 5에서는 2022년 8월 19일 금요일에 이 휴일이 발생합니다. 결과적으로 프로젝트 5의 총 `net_work_days` 값은 13일에서 12일로 하루 감소합니다.

## 예 3 – 여러 휴일

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

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

개요

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

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

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

* `DateFormat` 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.

* 각 프로젝트에 관련된 근무일 수를 계산하기 위해 추가 필드 `net_work_days` 만들기.

그러나 이 예에서는 2022년 8월 18일부터 8월 21일까지 4개의 휴일이 예정되어 있습니다.

로드 스크립트

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

Projects:
    Load
        *,
        networkdays(start_date,end_date,'08/18/2022','08/19/2022','08/20/2022','08/21/2022') as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

결과

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

결과 테이블

| ID | 시작일 | 종료일 | 순 근무일수 |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 2022/01/18 | 12 |
| 2 | 2022/02/10 | 2022/02/17 | 6 |
| 3 | 2022/05/17 | 2022/07/05 | 36 |
| 4 | 2022/06/01 | 2022년 06월 12일 | 8 |
| 5 | 2022년 08월 10일 | 2022년 08월 26일 | 11 |

4개의 예정된 휴일이 `networkdays()` 함수의 세 번째 인수에서 쉼표로 구분된 목록으로 입력됩니다.

프로젝트 5의 근무일을 강조 표시한 캘린더 다이어그램(여러 휴일)

프로젝트 5의 근무일을 강조 표시한 캘린더 다이어그램(여러 휴일)

프로젝트 5의 근무일을 강조 표시한 캘린더 다이어그램(여러 휴일) ![ID가 5인 데이터 집합에서 프로젝트 근무일을 보여 주는 8월의 캘린더 다이어그램입니다. 여기서는 2022년 8월 18일 및 19일(휴일)을 제외하고 2022년 8월 10일부터 26일까지의 모든 요일(월요일~금요일)이 강조 표시되어 있습니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-multiple-holidays.png)

위의 캘린더에는 프로젝트 5를 시각적으로 요약하여 이러한 휴일을 포함하도록 조정되어 있습니다. 프로젝트 5에서 이 예정된 휴일 기간이 발생하며, 그중 2일은 목요일과 금요일에 발생합니다. 결과적으로 프로젝트 5의 총 `net_work_days` 값은 13일에서 11일로 감소합니다.

## 예 4 – 단일 휴일

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

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

개요

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

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

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

* DateFormat 시스템 변수(MM/DD/YYYY) 서식으로 제공된 날짜 필드.

2022년 8월 19일에 1일 휴일이 예정되어 있습니다.

그러나 이 예에서는 변경되지 않은 데이터 집합이 응용 프로그램에 로드됩니다. net\_work\_days 필드는 차트 개체의 측정값으로 계산됩니다.

로드 스크립트

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

Projects:
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

결과

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

* id

* start\_date

* end\_date

다음 측정값을 만듭니다.

= networkdays(start\_date,end\_date,’08/19/2022’)

결과 테이블

| ID | 시작일 | 종료일 | 순 근무일수 |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 2022/01/18 | 12 |
| 2 | 2022/02/10 | 2022/02/17 | 6 |
| 3 | 2022/05/17 | 2022/07/05 | 36 |
| 4 | 2022/06/01 | 2022년 06월 12일 | 8 |
| 5 | 2022년 08월 10일 | 2022년 08월 26일 | 12 |

networkdays() 함수의 세 번째 인수로 예정된 단일 휴일이 입력됩니다.

단일 휴일이 있는 순 근무일을 보여 주는 캘린더 다이어그램(차트 개체)

단일 휴일이 있는 순 근무일을 보여 주는 캘린더 다이어그램(차트 개체)

단일 휴일이 있는 순 근무일을 보여 주는 캘린더 다이어그램(차트 개체) ![ID가 5인 데이터 집합에서 프로젝트 근무일을 보여 주는 8월의 캘린더 다이어그램입니다. 여기서는 2022년 8월 19일(휴일)을 제외하고 2022년 8월 10일부터 26일까지의 모든 요일(월요일~금요일)이 강조 표시되어 있습니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-chart-single-holiday.png)

위의 캘린더에는 프로젝트 5를 시각적으로 요약하여 이 휴일을 포함하도록 조정되어 있습니다. 프로젝트 5에서는 2022년 8월 19일 금요일에 이 휴일이 발생합니다. 결과적으로 프로젝트 5의 총 net\_work\_days 값은 13일에서 12일로 하루 감소합니다.