Modifica della colonna dei caratteri nella colonna della data<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
supponiamo di avere una tabella con una colonna di tipo carattere con date nel formato "dmy". Esempio fornito:
| Date dei personaggi |
|---|
| 05.08.2015 |
| 17.03.2016 |
| 12.05.2016 |
Ora voglio convertire le date dei caratteri in date numeriche. So che questo è un problema comune con molte cose da leggere. Tuttavia, quello che non capisco è quanto segue:
Se faccio clic con il pulsante destro del mouse sulla colonna, accedo alle informazioni sulla colonna e cambio il tipo di dati in numerico, quindi seleziono "dmy" come formato, va tutto bene. Tutte le date vengono convertite correttamente. Ma se eseguo il seguente script:
Colonna ("Date dei caratteri") << Tipo di dati (numerico) << Informat ("dmy") << Formato ("dmy");
O
Colonna ("Date dei caratteri") << Tipo di dati (numerico) << Formato ("dmy");
solo la prima e la terza riga vengono convertite correttamente. Successivamente la seconda riga della nostra colonna di esempio sarà nulla, presumibilmente perché il formato viene interpretato erroneamente come "mdy".
Com'è possibile che questi approcci (script/manuale) portino a risultati diversi? E cosa posso fare per far funzionare l'approccio basato sullo script?
Grazie!
Ri: Modifica della colonna dei caratteri nella colonna della dataJMP non utilizza sempre il formato mdy in informat.
Utilizza il formato mdy se la prima data nella prima riga si adatta al mdy, indipendentemente da cosa c'è nelle righe rimanenti.
Se la prima riga può contenere solo il formato dmy, verrà utilizzato invece quel formato. Pertanto, durante il test, tutto potrebbe sembrare a posto finché la riga importata non si adatta al formato mdy... Negli Stati Uniti questo ovviamente non è un problema poiché tutte le date sono disponibili
È ancora così in JMP 15.1.0 e spero che il problema venga risolto prima o poi poiché è ancora complicato lavorare con le date importate in JMP, sebbene ci siano stati alcuni miglioramenti nelle importazioni .csv ed Excel.
Ri: Modifica della colonna dei caratteri nella colonna della dataGrazie MS. La "Data locale" ha fatto il lavoro. Tuttavia, esiste ancora il ciclo For Each. Ma pagherò un po' per trovare una soluzione diversa.
Nel frattempo abbiamo capito che è importante installare il driver ODBC appropriato se si desidera trasferire dati numerici da un database MS SQL a JMP. Il driver "SQL Server" non ci ha permesso di importare date numeriche, ma il "Driver ODBC 11 per SQL Server" lo ha fatto.
Ri: Modifica della colonna dei caratteri nella colonna della dataMolto molto carino
Ri: Modifica della colonna dei caratteri nella colonna della dataPotresti provare il Data locale formato.
Colonna ("Date carattere") << Tipo di dati (numerico) << Formato ("Data internazionale");
Ri: Modifica della colonna dei caratteri nella colonna della dataGrazie per la risposta Nelson. Eseguo lo script e ho appena ricevuto i timestamp nella colonna "date dei caratteri". Tuttavia, non capisco perché JMP stia ignorando il comando Formatta. Il mio sistema: JMP 12.2.0 su Windows 7 in Germania (UTC+1; dmy).
Attualmente sto cercando di evitare i cicli For Each Row per uno script che converte automaticamente tutte le colonne di caratteri con date in date numeriche. Ho una soluzione del genere ma è davvero molto lenta. Da qui la mia domanda sopra.
Ri: Modifica della colonna dei caratteri nella colonna della dataApparentemente c'è un problema in JSL con l'esecuzione corretta della conversione.Sembra che utilizzi sempre "m/d/y" come informazione.Lo script seguente eseguirà la conversione
Nomi predefiniti qui ( 1 ) ;
Tentativo ( Vicino ( Tabella dati ( "test" ) , nosalva ) ) ;
dt = Nuova tabella ( "test" ,
Aggiungi righe( 3 ) ,
Nuova colonna ( "Date dei personaggi" ,
Carattere ,
"Nominale" ,
Imposta valori ({ "05.08.2015" , "17.03.2016" , "12.05.2016" })
)
) ;
Per ogni riga (
: Date dei personaggi = Sottostr ( : Date dei personaggi , 4 , 2 ) || "." ||
Sottostr ( : Date dei personaggi , 1 , 2 ) || "." || Sottostr ( : Date dei personaggi , 7 )
) ;
Colonna ( "date dei personaggi" ) << tipo di dati (numerico) << Formato ( "g/m/a" ) ;