이 함수는 time 인수에 포함된 날의 첫 번째 밀리초가 있는 타임스탬프에 해당하는 값을 반환합니다. 기본 출력 형식은 스크립트에 설정된 TimestampFormat입니다.
구문:
DayStart(time[, [period_no[, day_start]])
반환 데이터 유형: dual
인수
인수
설명
time
평가할 타임스탬프입니다.
period_no
period_no는 정수 또는 정수로 처리되는 표현식이며, 값 0은 time을 포함하는 날을 나타냅니다. period_no가 음수 값일 경우 이전 날, 양수 값일 경우 이후 날을 나타냅니다.
day_start
하루가 자정에 시작되지 않도록 지정하려면 day_start에 하루의 분위수로 오프셋을 지정합니다. 예를 들어 0.125는 오전 3:00을 나타냅니다.
즉, 오프셋을 만들려면 시작 시간을 24시간으로 나눕니다. 예를 들어, 하루를 오전 7시에 시작하도록 하려면 분수 7/24를 사용합니다.
사용 시기
daystart() 함수는 일반적으로 사용자가 지금까지 경과된 날짜의 분수를 사용하여 계산하려고 할 때 표현식의 일부로 사용됩니다. 예를 들어, 지금까지 하루에 직원이 받은 총 급여를 계산하는 데 사용할 수 있습니다.
이 예에서는 타임스탬프 형식 'M/D/YYYY h:mm:ss[.fff] TT'을 사용합니다. 타임스탬프 형식은 데이터 로드 스크립트 맨 위에서 SET TimeStamp 문으로 지정됩니다. 이 예의 형식을 필요에 따라 변경하십시오.
함수 예
예
결과
daystart('01/25/2013 4:45:00 PM')
1/25/2013 12:00:00 AM를 반환합니다.
daystart('1/25/2013 4:45:00 PM', -1)
1/24/2013 12:00:00 AM를 반환합니다.
daystart('1/25/2013 16:45:00',0,0.5
)
1/25/2013 12:00:00 PM을 반환합니다.
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 1 - 간단한 예
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Calendar라는 테이블에 로드되는 날짜 목록이 포함된 간단한 데이터 집합.
기본 TimeStampFormat 시스템 변수 (M/D/YYYY h:mm:ss[.fff] TT가 사용됩니다.
daystart() 함수를 사용하여 SOD_timestamp라는 추가 필드를 만드는 선행 로드입니다.
날짜를 제외하고 함수에 추가 매개 변수가 제공되지 않습니다.
로드 스크립트
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Calendar:
Load
date,
daystart(date) as SOD_timestamp
;
Load
date
Inline
[
date
03/11/2022 1:47:15 AM
03/12/2022 4:34:58 AM
03/13/2022 5:15:55 AM
03/14/2022 9:25:14 AM
03/15/2022 10:06:54 AM
03/16/2022 10:44:42 AM
03/17/2022 11:33:30 AM
03/18/2022 12:58:14 PM
03/19/2022 4:23:12 PM
03/20/2022 6:42:15 PM
03/21/2022 7:41:16 PM
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
date
SOD_timestamp
결과 테이블
date
SOD_timestamp
03/11/2022 1:47:15 AM
3/11/2022 12:00:00 AM
03/12/2022 4:34:58 AM
3/12/2022 12:00:00 AM
03/13/2022 5:15:55 AM
3/13/2022 12:00:00 AM
03/14/2022 9:25:14 AM
3/14/2022 12:00:00 AM
03/15/2022 10:06:54 AM
3/15/2022 12:00:00 AM
03/16/2022 10:44:42 AM
3/16/2022 12:00:00 AM
03/17/2022 11:33:30 AM
3/17/2022 12:00:00 AM
03/18/2022 12:58:14 PM
3/18/2022 12:00:00 AM
03/19/2022 4:23:12 PM
3/19/2022 12:00:00 AM
03/20/2022 6:42:15 PM
3/20/2022 12:00:00 AM
03/21/2022 7:41:16 PM
3/21/2022 12:00:00 AM
위의 표에서 볼 수 있듯이 데이터 집합의 각 날짜에 대해 하루의 종료 타임스탬프가 생성됩니다. 타임스탬프는 시스템 변수 형식 TimestampFormat M/D/YYYY h:mm:ss[.fff] TT입니다.
예 2 – period_no
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
Fines라는 테이블에 로드되는 주차 벌금이 포함된 데이터 집합. 데이터 집합에는 다음 필드가 포함됩니다.
id
due_date
number_plate
amount
daystart() 함수를 사용하고 세 가지 매개 변수(time, period_no 및 day_start)를 모두 제공하는 선행 LOAD. 이 선행 로드는 다음과 같은 두 개의 새 날짜 필드를 만듭니다.