Conversione da stringhe numericheCiao
Vorrei convertire valori numerici in una data. Ho provato molti degli script di esempio qui ma non ha funzionato.
Ho 14 cifre in una colonna che dovrebbero essere trasformate come 20200420221043. Voglio yyyy-mm-ddThh: mm: ss type. Pertanto, sembra che 2020-04-20T22: 10: 43.
Qualche idea?
Ri: Conversione da stringhe numericheE 'questo quello che stai cercando?
myS = "20200420221043";
datex = Informat(
Substr( myS, 1, 4 ) || "/" || Substr( myS, 5, 2 ) || "/" || Substr( myS, 7, 2 ) || " " ||
Substr( myS, 9, 2 ) || ":" || Substr( myS, 11, 2 ) || ":" || Substr( myS, 13, 2 ),
"y/m/d h:m:s"
);
Show( Format( datex, "yyyy-mm-ddThh:mm:ss" ) );
Format(datex, "yyyy-mm-ddThh:mm:ss") = "2020-04-20T22:10:43";
Ri: Conversione da stringhe numeriche @KrissKdash ,
Nel caso in cui desideri una colonna che sia una data numerica formattata, ecco uno script per farlo. Crea una tabella a 1 colonna. Estensione @txnelson La soluzione è che la colonna stringa si chiama myS. Lo script crea una colonna data, myD. Il attendere (2) viene aggiunto per un effetto drammatico.
Solo un secondo approccio.
Names Default to Here(1);
dt = New Table( "Test",
Add Rows( 3 ),
New Column( "myS",
Character,
"Nominal",
Set Values( {"20200420221053", "20200419112025", "20191225055920"} )
)
);
dt << New Column("myD", Numeric, Continuous);
Column(dt,"myD") << set each value(Informat(substr(:myS,1,8), "YYYYMMDD") + num(Substr(:myS,9,2))*60*60
+ num(substr(:myS,11,2))*60 + num(substr(:myS,13,2)) );
wait(2);
:myD << Format("yyyy-mm-ddThh:mm:ss", 19, 0);
Ri: Conversione da stringhe numericheCiao,
Esiste un componente aggiuntivo per questo tipo di problema. Trova il componente aggiuntivo e una descrizione su come utilizzarlo, qui: Strumenti tabella dati, parte 1: Scrittore formula data personalizzato
Dopo aver aperto il file del componente aggiuntivo per installarlo, si troverà nella sezione "Componenti aggiuntivi" del menu principale di JMP. Selezionare: Componenti aggiuntivi> Strumenti tabella dati> Colonne formula speciale> Scrittore formula data personalizzato.
Nella finestra principale di Formula Writer, seleziona la tabella dei dati e la colonna dei dati di origine: assicurati di impostare i dati su caratteri e tipi nominali.
Quindi, compila il resto della finestra come di seguito, assicurandoti di posizionare i segni di spunta all'inizio e alla fine di tutti i campi di interesse. (Facendo clic si attivano e disattivano i segni di spunta.)
Fai clic su "Crea colonna formula" e il gioco è fatto. (Esempio della formula scritta automaticamente molto sotto.) Nota che ci sono zeri e parentesi graffe vuote in vari punti, che rappresentano opzioni che non sono state utilizzate nella presente formula. Questo è come previsto.
Saluti,
Brady

Try(
{};
YearChoice = 1;
{};
{};
Date MDY(
Num( Substr( :DateStr, 5, 2 ) ),
Num( Substr( :DateStr, 7, 2 ) ),
Num( Substr( :DateStr, 1, 4 ) ) + 0
) + Num( Substr( :DateStr, 13, 2 ) ) + Num( Substr( :DateStr, 11, 2 ) ) * 60 + (
Num( Substr( :DateStr, 9, 2 ) ) + 0) * 3600 + If( Num( Substr( :DateStr, 9, 2 ) ) < 12,
0,
0
);
)
Ri: Conversione da stringhe numericheCiao @KrissKdash ,
Inoltre, assicurati di guardare il video Il medico cura i problemi di importazione di data e ora.
In questo segmento che è stato recentemente trasmesso @brady_brady dimostra passo dopo passo come risolvere questi tipi di problemi di data.
Saluti,
Stan
Ri: Conversione da stringhe numericheOttimo riferimento anche.
Ri: Conversione da stringhe numericheDevo aggiungere questo ai segnalibri. Grazie.Ri: Conversione da stringhe numericheOttimo riferimentoRi: Conversione da stringhe numericheHo provato questo script e ha funzionato bene.
In particolare, "wait ()" mi rende divertente.