lastworkdate - 스크립트 및 차트 함수이 페이지에서
lastworkdate 함수는 선택적으로 나열된 holiday 를 고려하여 start_date 에 시작하는 경우 no_of_workdays (월요일-금요일)가 끝나는 가장 빠른 끝 날짜를 반환합니다. start_date 및 holiday 는 유효한 날짜 또는 타임스탬프여야 합니다.
구문:
lastworkdate( start_date, no_of_workdays {, holiday} )
반환 데이터 유형: 정수
lastworkdate() 함수가 어떻게 사용되는지 보여 주는 캘린더
제한 사항
월요일에 시작하여 금요일에 끝나는 근무 주 이외의 다른 주와 관련된 지역 또는 시나리오에 대한 lastworkdate() 함수를 수정할 수 있는 방법은 없습니다.
holiday 매개 변수는 문자열 상수여야 합니다. 표현식을 허용하지 않습니다.
사용 시기
lastworkdate() 함수는 일반적으로 사용자가 프로젝트 시작 날짜와 해당 기간에 발생할 휴일을 기반으로 프로젝트의 제안된 종료 날짜 또는 할당을 계산하려고 할 때 표현식의 일부로 사용됩니다.
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense 가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense 는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
인수
start_date
평가할 시작 날짜입니다.
no_of_workdays
근무해야 할 일수입니다.
holiday
근무일에서 제외시킬 공휴일 기간입니다. 휴일은 문자열 상수 날짜로 표시됩니다. 여러 휴일 날짜를 쉼표로 구분하여 지정할 수 있습니다.
'12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014'
예 1 - 기본 예
로드 스크립트 및 결과
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
프로젝트 ID, 프로젝트 시작 날짜 및 프로젝트에 필요한 예상 공수(일)가 포함된 데이터 집합. 이 데이터 집합은 'Projects '라는 테이블에 로드됩니다.
필드 'end_date '로 설정되고 각 프로젝트의 예약된 종료 날짜를 식별하는 lastworkdate() 함수를 포함하는 선행 로드.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Projects:
Load
*,
LastWorkDate(start_date,effort) as end_date
;
Load
id,
start_date,
effort
Inline
[
id,start_date,effort
1,01/01/2022,14
2,02/10/2022,17
3,05/17/2022,5
4,06/01/2022,12
5,08/10/2022,26
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
id
start_date
effort
end_date
결과 테이블
id
start_date
effort
end_date
1
01/01/2022
14
01/20/2022
2
02/10/2022
17
03/04/2022
3
05/17/2022
5
05/23/2022
4
06/01/2022
12
06/16/2022
5
08/10/2022
26
09/14/2022
예정된 휴일이 없기 때문에 이 함수는 월요일부터 금요일까지 정의된 근무일 수를 시작 날짜에 추가하여 가능한 가장 빠른 종료 날짜를 찾습니다.
다음 캘린더에 작업일이 녹색으로 강조 표시된 프로젝트 3의 시작 날짜와 종료 날짜가 표시됩니다.
프로젝트 3의 시작 날짜와 종료 날짜를 표시하는 캘린더
예 2 - 단일 휴일
로드 스크립트 및 결과
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
프로젝트 ID, 프로젝트 시작 날짜 및 프로젝트에 필요한 예상 공수(일)가 포함된 데이터 집합. 이 데이터 집합은 'Projects '라는 테이블에 로드됩니다.
필드 'end_date '로 설정되고 각 프로젝트의 예약된 종료 날짜를 식별하는 lastworkdate() 함수를 포함하는 선행 로드.
단, 2022년 5월 18일에는 1일의 휴일이 예정되어 있습니다. 선행 로드에서 lastworkdate() 함수는 세 번째 인수에 휴일을 포함하여 각 프로젝트의 예약된 종료 날짜를 식별합니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Projects:
Load
*,
LastWorkDate(start_date,effort, '05/18/2022') as end_date
;
Load
id,
start_date,
effort
Inline
[
id,start_date,effort
1,01/01/2022,14
2,02/10/2022,17
3,05/17/2022,5
4,06/01/2022,12
5,08/10/2022,26
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
id
start_date
effort
end_date
결과 테이블
id
start_date
effort
end_date
1
01/01/2022
14
01/20/2022
2
02/10/2022
17
03/04/2022
3
05/17/2022
5
05/24/2022
4
06/01/2022
12
06/16/2022
5
08/10/2022
26
09/14/2022
lastworkdate() 함수의 세 번째 인수로 예정된 단일 휴일이 입력됩니다. 결과적으로 휴일이 종료 날짜 이전의 근무일 중에 발생하므로 프로젝트 3의 종료 날짜가 1일 뒤로 시프트됩니다.
다음 캘린더는 프로젝트 3의 시작 날짜와 종료 날짜를 보여 주고 휴일이 프로젝트의 종료 날짜가 1일 변경됨을 보여 줍니다.
5월 18일을 휴일로 하여 프로젝트 3의 시작 날짜와 종료 날짜를 표시하는 캘린더
예 3 - 여러 휴일
로드 스크립트 및 결과
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
프로젝트 ID, 프로젝트 시작 날짜 및 프로젝트에 필요한 예상 공수(일)가 포함된 데이터 집합. 이 데이터 집합은 'Projects '라는 테이블에 로드됩니다.
필드 'end_date '로 설정되고 각 프로젝트의 예약된 종료 날짜를 식별하는 lastworkdate() 함수를 포함하는 선행 로드.
단, 5월 19일, 20일, 21일, 22일 3개의 휴일이 있습니다. 선행 로드에서 lastworkdate() 함수는 세 번째 인수에 각 휴일을 포함하여 각 프로젝트의 예약된 종료 날짜를 식별합니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Projects:
Load
*,
LastWorkDate(start_date,effort, '05/19/2022','05/20/2022','05/21/2022','05/22/2022') as end_date
;
Load
id,
start_date,
effort
Inline
[
id,start_date,effort
1,01/01/2022,14
2,02/10/2022,17
3,05/17/2022,5
4,06/01/2022,12
5,08/10/2022,26
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
id
start_date
effort
end_date
결과 테이블
id
start_date
effort
end_date
1
01/01/2022
14
01/20/2022
2
02/10/2022
17
03/04/2022
3
05/17/2022
5
05/25/2022
4
06/01/2022
12
06/16/2022
5
08/10/2022
26
09/14/2022
시작 날짜와 근무일 수 이후에 lastworkdate() 함수에 인수 목록으로 4개의 휴일이 입력됩니다.
다음 캘린더는 프로젝트 3의 시작 날짜와 종료 날짜를 보여 주고 휴일이 프로젝트의 종료 날짜가 3일 변경됨을 보여 줍니다.
5월 19일 ~ 22일을 휴일로 하여 프로젝트 3의 시작 날짜와 종료 날짜를 표시하는 캘린더
예 4 - 단일 휴일(차트)
로드 스크립트 및 차트 표현식
개요
첫 번째 예와 동일한 데이터 집합 및 시나리오가 사용됩니다.
그러나 이 예에서 데이터 집합은 변경되지 않고 앱에 로드됩니다. end_date 필드는 차트에서 측정값으로 계산됩니다.
로드 스크립트
SET DateFormat='MM/DD/YYYY';
Projects:
Load
id,
start_date,
effort
Inline
[
id,start_date,effort
1,01/01/2022,14
2,02/10/2022,17
3,05/17/2022,5
4,06/01/2022,12
5,08/10/2022,26
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
end_date를 계산하려면 다음 측정값을 만듭니다.
결과 테이블
id
start_date
effort
=LastWorkDate(start_date,effort,'05/18/2022')
1
01/01/2022
14
01/20/2022
2
02/10/2022
17
03/04/2022
3
05/17/2022
5
05/23/2022
4
06/01/2022
12
06/16/2022
5
08/10/2022
26
09/14/2022
예정된 단일 휴일은 차트에 측정값으로 입력됩니다. 결과적으로 휴일이 종료 날짜 이전의 근무일 중에 발생하므로 프로젝트 3의 종료 날짜가 1일 뒤로 시프트됩니다.
다음 캘린더는 프로젝트 3의 시작 날짜와 종료 날짜를 보여 주고 휴일이 프로젝트의 종료 날짜가 1일 변경됨을 보여 줍니다.
5월 18일을 휴일로 하여 프로젝트 3의 시작 날짜와 종료 날짜를 표시하는 캘린더