Ciao,
Gestisco un addin per la mia azienda in cui tutti i dati vengono importati in JMP tramite le utilità della riga di comando di proprietà del nostro team di automazione. Il mio addin traduce una richiesta utente in un comando formattato e invia il comando in background. I dati vengono restituiti come file di testo sul sistema degli utenti. Il mio addin può quindi caricare i dati dal file di testo.
Il problema che ho è che le colonne variano in base alla richiesta degli utenti. Ma ogni tabella ha una colonna DATE (Format: YYYYMMDD) e TIME (Format: HHMMSS) che sono costantemente lì. Non ho trovato un modo per aprire un file di testo in cui specifichi i formati per alcune colonne, ma consenti a JMP di interagire con i tipi di dati per il resto.
L'implementazione corrente richiede che io converta le colonne DATE e TIME in tipi di carattere, formatti l'ora in HHMMSS con gli 0 iniziali, quindi esegui il loop della tabella per analizzare la colonna DATE in una data e convertire le parti HH, MM e SS in secondi in modo che possa aggiungerli alla 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))
);
C'è un modo più semplice per unire le colonne DATE e TIME in un'unica colonna DATETIME?