첫 번째 로드 스크립트에서는 SET TimestampFormat='DD/MM/YYYY h:mm:ss[.fff] TT'가 사용됩니다. 두 번째 로드 스크립트에서는 타임스탬프 서식이 SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]'로 변경되었습니다. 서로 다른 결과를 통해 SET TimeFormat 문이 다른 시간 데이터 서식으로 작동하는 방식을 알 수 있습니다.
아래 테이블은 이후 로드 스크립트에서 사용되는 데이터 집합을 보여 줍니다. 테이블의 두 번째 열은 데이터 집합의 각 타임스탬프 서식을 보여 줍니다. 처음 다섯 개의 타임스탬프는 ISO 8601 규칙을 따르지만 여섯 번째는 따르지 않습니다.
데이터 집합
사용된 시간 데이터와 데이터 집합의 각 타임스탬프에 대한 서식을 보여 주는 테이블입니다.
transaction_timestamp | time data format |
---|
2018-08-30 | YYYY-MM-DD |
20180830T193614.857 | YYYYMMDDhhmmss.sss |
20180830T193614.857+0200 | YYYYMMDDhhmmss.sss±hhmm |
2018-09-16T12:30-02:00 | YYYY-MM-DDhh:mm±hh:mm |
2018-09-16T13:15:30Z | YYYY-MM-DDhh:mmZ |
9/30/18 19:36:14 | M/D/YY hh:mm:ss |
데이터 로드 편집기에서 새 섹션을 만든 다음 예제 스크립트를 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 앱의 시트에 추가합니다.
로드 스크립트
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET DateFormat='YYYYMMDD';
SET TimestampFormat='DD/MM/YYYY h:mm:ss[.fff] TT';
Transactions:
Load
*,
Timestamp(transaction_timestamp, 'YYYY-MM-DD hh:mm:ss[.fff]') as LogTimestamp
;
Load * Inline [
transaction_id, transaction_timestamp, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 2018-08-30, 12423.56, 23, 0,2038593, L, Red
3751, 20180830T193614.857, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180830T193614.857+0200, 15.75, 1, 0.22, 5646471, S, blue
3753, 2018-09-16T12:30-02:00, 1251, 7, 0, 3036491, l, Black
3754, 2018-09-16T13:15:30Z, 21484.21, 1356, 75, 049681, xs, Red
3755, 9/30/18 19:36:14, -59.18, 2, 0.333333333333333, 2038593, M, Blue
];
결과
로드 스크립트에서 사용하는 TimestampFormat 해석 변수의 결과를 보여 주는 Qlik Sense 테이블입니다. 데이터 집합의 마지막 타임스탬프가 올바른 날짜를 반환하지 않습니다.
transaction_id | transaction_timestamp | LogTimeStamp |
---|
3750 | 2018-08-30 | 2018-08-30 00:00:00 |
3751 | 20180830T193614.857 | 2018-08-30 19:36:14 |
3752 | 20180830T193614.857+0200 | 2018-08-30 17:36:14 |
3753 | 2018-09-16T12:30-02:00 | 2018-09-16 14:30:00 |
3754 | 2018-09-16T13:15:30Z | 2018-09-16 13:15:30 |
3755 | 9/30/18 19:36:14 | - |
다음 로드 스크립트는 동일한 데이터 집합을 사용합니다. 그러나 여섯 번째 타임스탬프의 ISO 8601이 아닌 서식과 일치시키는 데 SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]'를 사용합니다.
데이터 로드 편집기에서 이전 예제 스크립트를 아래 스크립트로 바꾸고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 앱의 시트에 추가합니다.
로드 스크립트
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET DateFormat='YYYYMMDD';
SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]';
Transactions:
Load
*,
Timestamp(transaction_timestamp, 'YYYY-MM-DD hh:mm:ss[.fff]') as LogTimestamp
;
Load * Inline [
transaction_id, transaction_timestamp, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 2018-08-30, 12423.56, 23, 0,2038593, L, Red
3751, 20180830T193614.857, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180830T193614.857+0200, 15.75, 1, 0.22, 5646471, S, blue
3753, 2018-09-16T12:30-02:00, 1251, 7, 0, 3036491, l, Black
3754, 2018-09-16T13:15:30Z, 21484.21, 1356, 75, 049681, xs, Red
3755, 9/30/18 19:36:14, -59.18, 2, 0.333333333333333, 2038593, M, Blue
];
결과
로드 스크립트에서 사용하는 TimestampFormat 해석 변수의 결과를 보여 주는 Qlik Sense 테이블입니다.
transaction_id | transaction_timestamp | LogTimeStamp |
---|
3750 | 2018-08-30 | 2018-08-30 00:00:00 |
3751 | 20180830T193614.857 | 2018-08-30 19:36:14 |
3752 | 20180830T193614.857+0200 | 2018-08-30 17:36:14 |
3753 | 2018-09-16T12:30-02:00 | 2018-09-16 14:30:00 |
3754 | 2018-09-16T13:15:30Z | 2018-09-16 13:15:30 |
3755 | 9/30/18 19:36:14 | 2018-09-16 19:36:14 |