modificare il formato della dataCIAO,
Ho ricevuto una scheda tecnica .xlsx con la seguente data "gg.mm.aa" in una colonna, ovvero "03.10.14".
Dopo aver copiato i dati in JMP, ho creato una nuova colonna per ottenere il numero numerico per la data e ho convertito la data in 1. un tipo di data numerico con
2. un tipo di modellazione ordinale e
3. formato in "aaaa-mm-gg".
Tuttavia, alcune date "20.10.15" non compaiono nella mia nuova rubrica. C'è un conflitto di definizioni?
Si prega di avvisare come posso superare questo problema.
Re: cambiare il formato della dataVedo il passaggio necessario per completare la conversione.
Problema risolto. Grazie!Re: cambiare il formato della dataIl tuo problema è che stai leggendo in modo errato il campo della data iniziale.Il campo della data iniziale è nel formato "gg.mm.aa" e lo sei leggendolo come se fosse "mm.gg.aa".Ho allegato la tua tabella dati in cui si può vedere che il valore numdate non corrisponde al valore newdate.Nella tabella dati, ho creato una colonna Data carattere, che utilizza una funzione format() nella formula per ottenere il valore del carattere.
Re: cambiare il formato della dataGrazie per la tua risposta estesa.
Ho lavorato sulla scheda tecnica e ho convertito la "data al carattere" in una data numerica, colonna "numdate". Successivamente ho convertito la data numerica nel formato che volevo che fosse, colonna "nuova data". Tuttavia, per qualche motivo, la nuova data non viene visualizzata per alcune date indicate nella colonna "data". Perché non accetta determinate date, ad esempio 12.11.14 e converte il valore numdate nel nuovo formato?
Ho allegato una tabella jmp con i dati affinché tu possa vederli effettivamente. Spero che questo possa aiutare a risolvere il problema.
Grazie in anticipo, Marc
<SPAN class="token function">Date DMY</SPAN><SPAN class="token punctuation">(</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Left</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Substr</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">4</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"20"</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token function">Right</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
Re: cambiare il formato della dataMi sembra che dalle tue risposte e domande non capisci come JMP gestisce i valori delle date.JMP gestisce date e ore utilizzando un valore numerico uguale al numero di secondi trascorsi dalla mezzanotte del 1 gennaio 1904.Il modo in cui JMP lo converte in una delle visualizzazioni di 9 febbraio 2015, o 09/02/2015, ecc. è impostare un formato JMP sulla colonna che contiene i valori numerici.
Pertanto, se disponi di una colonna di caratteri, denominata "Data", con valori come "25.04.15" e desideri convertirla in un valore Data JMP, puoi creare una nuova colonna e se applichi la seguente formula,
Date DMY(
Num( Left( Char( :Date ), 2 ) ),
Num( Substr( Char( :Date ), 4, 2 ) ),
Num( "20" || Right( Char( :Date ), 2 ) )
)
prenderà il valore del carattere di "25.04.15" e convertirlo in 3512764800 . Questo è il numero di secondi dalla mezzanotte del 1 gennaio 1904 alla mezzanotte del 25 aprile 2015. Ora ciò che manca è che non vuoi che i dati vengano visualizzati nel numero di secondi.Ciò che desideri è che il valore venga visualizzato nella tabella dei dati e nei rapporti nel 25-04-2015. Per fare ciò, basta impostare il formato della colonna su "aaaa-mm-gg".Il vantaggio di memorizzare le date in questo formato numerico è che è possibile ordinare i dati per data ed eseguire addizioni e sottrazioni sui valori o persino calcolare la data media, ecc.
Di seguito è riportato un piccolo script che quando lo esegui creerà una tabella di dati con una colonna a singolo carattere che ha la struttura di gg.mm.aa.Lo script crea quindi una colonna numerica Data JMP modificando la struttura di visualizzazione in aaaa-mm-gg. Lo stript quindi prosegue e crea una colonna di caratteri, che manipola il valore delle colonne di caratteri Data in una nuova stringa di caratteri della struttura "aaa-mm-gg".
Names Default To Here( 1 );
// Create a beginning data table
dt = New Table( "Dates",
New Column( "Date",
Character,
ordinal,
Values( {"25.04.15", "22.09.15", "03.11.15"} )
)
);
// Create a new numeric column that contains a JMP date value
// and tell JMP to format the numeric value using a
// yyy-mm-dd structure
dt << New Column( "Numeric Date",
formula(
Date DMY(
Num( Left( Char( :Date ), 2 ) ),
Num( Substr( Char( :Date ), 4, 2 ) ),
Num( "20" || Right( Char( :Date ), 2 ) )
)
),
format("yyyy-mm-dd")
);
// Create a new character column that rearanges the data from
// from the character column "Date"
dt << New Column( "Character Date",
character,
formula(
"20" || Right( Char( :Date ), 2 ) || "-" ||
Substr( Char( :Date ), 4, 2 ) || "-" || Left( Char( :Date ), 2 )
)
);Re: cambiare il formato della data

Re: cambiare il formato della data1. colonna della data originale: carattere, ordinale
2. gg.mm.aaaa
Senza esaminare ulteriormente la modifica della colonna dei caratteri, credo che la formula l'abbia formattata automaticamente in caratteri, perché non posso passare a un altro tipo di dati/tipo di modellazione senza avere di nuovo una nuova colonna vuota.
Re: cambiare il formato della dataSono sicuro che una tale struttura di data di carattere possa essere generata.Ho un paio di domande
- Qual è il formato della colonna originale?
- Numerico/Carattere
- Se Personaggio, qual è la sua struttura, 20 LUGLIO 2019 o 20/07/2019, o cosa?
- Perché hai bisogno che la nuova colonna sia una colonna di caratteri?
Re: cambiare il formato della dataJim,
un altro punto minore ma importante, è possibile che quando si utilizza il tipo di dati "char" non si riesca a ottenere una data di output numerica come aaaa-mm-gg? Ho provato a stabilire un'altra colonna per passare dalla nuova colonna con una data di carattere a un output come menzionato sopra ma non sono riuscito a crearla.
Per favore fatemi sapere se avete una soluzione aggiuntiva!
Grazie,
Marc
Re: cambiare il formato della dataCiao Jim,
Ha funzionato! Grazie! L'unica cosa che dovevo fare era rimuovere DMY dalla formula!
Eccezionale.
Grazie ancora,
Marc
Re: cambiare il formato della dataEcco un modo semplice per fare ciò di cui hai bisogno per garantire che le parti corrette della colonna immessa siano selezionate per il giorno, il mese e l'anno.
Inserisci i tuoi dati
Crea una nuova colonna numerica e specifica in Col Info per utilizzare il formato data desiderato
Utilizza la seguente formula nella colonna per convertire i dati dalla colonna originale in una colonna di data numerica JMP.
Date DMY(
Num( Left( Char( :yourcolname ), 2 ) ),
Num( Substr( Char( :yourcolname ), 4, 2 ) ),
Num( "20" || Right( Char( :yourcolname ), 2 ) )
)
Re: cambiare il formato della dataCiao Jim,
Non avrei mai pensato di poter aprire un file xlsx direttamente in JMP, ho provato e non sono riuscito ad aprirlo.
La colonna "data" è un carattere/ordinale. Nella nuova colonna l'ho cambiato in numerico/ordinale e formattato in aaaa-mm-gg. La modifica in numerico ha prodotto il valore numerico, che ho quindi formattato in aaaa-mm-gg.
Cosa devo fare per cambiare JMP pensando che sia un valore stringa = mese?
Grazie per il vostro sostegno,
Marc
Re: cambiare il formato della dataHo alcune domande:
- Come si importano i dati xlsx in JMP?Dici "Dopo la copia".Si tratta di un copia e incolla nella nuova tabella dati JMP?Hai provato semplicemente a File==>Apri e poi a puntare al file xlsx e ad aprirlo in questo modo?
- Dopo aver "copiato" i dati in JMP, qual è il tipo di dati della colonna che contiene i dati "03.10.14"?
- Supponendo che i dati "03.10.14" abbiano un tipo di dati di carattere, quali sono i passaggi che stai utilizzando nella nuova colonna per convertirli in un tipo di dati numerici?
Sospetto che il tuo problema con i valori "20.10.15" sia che in qualche modo JMP pensa che i primi valori nella stringa siano il valore del mese e non il valore del giorno.