El formato definido reemplaza los formatos de fecha y hora del sistema operativo (configuración Regional).
Sintaxis:
TimestampFormat
Ejemplo:
Los ejemplos siguientes utilizan 1983-12-14T13:15:30Z como datos de indicación de tiempo para mostrar los resultados de diferentes sentencias SET TimestampFormat. El formato de fecha empleado es YYYYMMDD y el formato de hora es h:mm:ss TT. El formato de fecha se especifica en la sentencia SET DateFormat y el formato de hora en la sentencia SET TimeFormat, en la parte superior del script de carga de datos.
Resultados
Ejemplo
Resultado
SET TimestampFormat='YYYYMMDD';
19831214
SET TimestampFormat='M/D/YY hh:mm:ss[.fff]';
12/14/83 13:15:30
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
14/12/1983 13:15:30
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff] TT';
14/12/1983 1:15:30 PM
SET TimestampFormat='YYYY-MM-DD hh:mm:ss[.fff] TT';
1983-12-14 01:15:30
Ejemplos: Script de carga
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
¿Esta página le ha sido útil?
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.