En el primer script de carga se utiliza SET TimestampFormat='DD/MM/YYYY h:mm:ss[.fff] TT'. En el segundo script de carga, el formato de fecha-hora cambia a SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]'. Los diferentes resultados muestran cómo funciona la sentencia SET TimeFormat con diferentes formatos de datos de tiempo.
La tabla siguiente muestra el conjunto de datos que se utiliza en los scripts de carga a continuación. La segunda columna de la tabla muestra el formato de cada indicación de tiempo en el conjunto de datos. Las primeras cinco indicaciones de tiempo siguen las reglas ISO 8601 pero la sexta no lo hace.
Conjunto de datos
Tabla que muestra los datos de tiempo utilizados y el formato para cada indicación de tiempo en el conjunto de datos.
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 |
En el Editor de carga de datos, cree una nueva sección y luego agregue el script de ejemplo y ejecútelo. A continuación, agregue como mínimo los campos de la columna de resultados en una hoja de su app para ver el resultado.
Script de carga
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
];
Resultados
Tabla de Qlik Sense que muestra los resultados de la variable de interpretación TimestampFormat utilizada en el script de carga. La última indicación de tiempo en el conjunto de datos no devuelve una fecha correcta.
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 | - |
El siguiente script de carga utiliza el mismo conjunto de datos. Sin embargo, utiliza SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]' para coincidir con el formato no ISO 8601 de la sexta marca de tiempo.
En el Editor de carga de datos, reemplace el script del ejemplo anterior por el que está debajo y ejecútelo. A continuación, agregue como mínimo los campos de la columna de resultados en una hoja de su app para ver el resultado.
Script de carga
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
];
Resultados
Tabla de Qlik Sense que muestra los resultados de la variable de interpretación TimestampFormat utilizada en el script de carga.
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 |