Serve aiuto per convertire un formato di data da carattere a numerico in JMP 15Ciao,
Il mio foglio Excel ha il formato della data come: mercoledì 18 novembre 2020, 12:45:00. Al momento dell'importazione in JMP 15, viene letto come un carattere.
- Puoi condividere un metodo per convertire la data dal suo formato carattere a un formato numerico continuo (ad esempio, aaaa-mm-gg hh: mm)? Ho allegato un file JMP come riferimento.
- Esiste un modo per applicare il formato della data (numerico) corretto durante l'importazione?
Grazie in anticipo.
Tabella datiRi: Hai bisogno di aiuto per convertire un formato di data da carattere a numerico in JMP 15Ecco un metodo di forza bruta per ottenere ciò che desideri.Ho allegato la tabella dati completa.

If( Row() == 1,
monthList = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November",
"December"}
);
myDate = Date MDY(
Contains( monthList, Word( 2, :Name( "Current Date Format (character)" ), ", " ) ),
Num( Word( 3, :Name( "Current Date Format (character)" ), ", " ) ),
Num( Word( 4, :Name( "Current Date Format (character)" ), ", " ) )
);
If(
Word( -1, :Name( "Current Date Format (character)" ), ", " ) == "PM" & Num(
Word( 5, :Name( "Current Date Format (character)" ), ",: " )
) < 12,
myDate = myDate + Num( Word( 5, :Name( "Current Date Format (character)" ), ",: " ) ) * 3600 + 3600 * 12,
myDate = myDate + Num( Word( 5, :Name( "Current Date Format (character)" ), ",: " ) ) * 3600
);
myDate = myDate + Num( Word( 6, :Name( "Current Date Format (character)" ), ",: " ) ) * 60 + Num(
Word( 7, :Name( "Current Date Format (character)" ), ",: " )
);Ri: Hai bisogno di aiuto per convertire un formato di data da carattere a numerico in JMP 15Ecco un'altra possibilità utilizzando regex, probabilmente l'implementazione più breve sarebbe la versione 2 di seguito, utilizzando inoltre informat () in una formula. Dopo aver letto le informazioni dalla stringa della data, ci sono molti modi per convertirle in una data numerica.
Se hai la data numericamente in Excel, sarebbe meglio cambiare formato in Excel in modo che JMP possa leggere.
regex è fantastico, lo adoro!
Names Default To Here( 1 );
// AA for conversion of month
month_AA = Associative Array(
{"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"},
{"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"}
);
date_str = "Wednesday, November 18, 2020, 12:45:00 PM";
date_str = "Friday, November 20, 2020, 8:10:00 AM";
regex_str = "(\w+), (\w+) (\d+), (\d+), (\d+):(\d+):(\d+) (PM|AM)";
// 1st version generating a list and building string thereof
date_component_lst = Regex Match( date_str, regex_str );
date_component_lst[6] = char(num(date_component_lst[6]) + match(date_component_lst[9], "AM", 0, "PM", 12));
date_str1 = date_component_lst[5] || "-" || month_AA[date_component_lst[3]] || "-" || date_component_lst[4] || "T" || date_component_lst[6] || ":"
|| date_component_lst[7] || ":" || date_component_lst[8];
// 2nd version generating a string, to be used by "Parse Date ()" do directly convert it into a date
date_str2 = Regex( date_str, regex_str, "\3 \2 \4 \5:\6:\7 \8" );