Hola,
Administro un complemento para mi empresa donde todos los datos se importan a JMP a través de las utilidades de línea de comandos que son propiedad de nuestro equipo de automatización. Mi complemento convierte una solicitud de los usuarios en un comando formateado y emite el comando en segundo plano. Los datos se devuelven como un archivo de texto en el sistema de usuarios. Mi complemento puede cargar los datos del archivo de texto.
El problema que tengo es que las columnas varían según la solicitud de los usuarios. Pero, cada tabla tiene una columna de FECHA (Formato: AAAAMMDD) y HORA (Formato: HHMMSS) que siempre están allí. No he encontrado una manera de abrir un archivo de texto donde especifique los formatos para algunas columnas, pero dejo que JMP interpele los tipos de datos para el resto.
La implementación actual requiere que convierta las columnas DATE y TIME en tipos de caracteres, formatee la hora en el HHMMSS con 0 iniciales, y luego recorra la tabla para analizar la columna DATE en una fecha y convierta las partes HH, MM y SS en segundos para que pueda agregarlos a la parte DATE.
dt = Current Data Table();
:DATE << Data Type(character);
:TIME << Data Type(character);
:TIME << Set Each Value(Repeat("0", 6-Length(:TIME))||:TIME);
dt << New Column("DATETIME");
:DATETIME << Format("m/d/y h:m:s");
For Each Row(
:DATETIME[Row()] = Parse Date(:DATE[Row()], "YYYYMMDD") +
In Hours(Num(Substr(:TIME[Row()], 1, 2))) +
In Minutes(Num(Substr(:TIME[Row()], 3, 2))) +
Num(Substr(:TIME[Row()], 5))
);
¿Hay una forma más limpia de unir las columnas DATE y TIME en una sola columna DATETIME?