Crea una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Ho una colonna "Anno" di carattere preesistente, ad esempio "K001/2020", "K002/2020", "K003/2020", ecc.
Usando lo script sono in grado di creare un nuovo carattere colonna "Mon-Yr" = "01/2020", "02/2020", "03/2020", ecc. [ Ho usato la formula substring ("Year", < 4,7>) per fare ciò. ]
Quale script JMP posso utilizzare per convertire il carattere "01/2020", "02/2020", "03/2020", ecc. in formato numerico, ordinale, migliore (12), ("m/y")?
Grazie in anticipo per il vostro aiuto!
ScriptingRe: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Grazie Jim - Ha funzionato perfettamente.Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Ripeto dalla mia risposta precedente
"..... perché il nome della colonna ":Mon-Yr" verrà interpretato da JMP come una colonna denominata Mon e quindi sottratta da -Yr. "
JMP farà la stessa cosa con la tua << delete formula;
Il tuo codice deve essere cambiato da:
:Mon-Yr << delete formula;
A:
:Name("Mon-Yr") << delete formula;
Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Lo script funziona correttamente, ma continuo a ricevere un messaggio di "errore" nel registro per lo script che ho scritto (vedere il registro allegato).Penso che sia correlato al nome della colonna "Mon-Yr".
Grazie per l'aiuto!
LA MIA SCRITTURA:
CT << New Column("Mon-Yr",
Character,
Nominal,
Formula(Substr(:YEAR, 5, 7))
);
CT << Run formulas;
"Mon-Yr" << delete formula;
LA TUA SCRITTURA:
CT << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
CT << Run formulas;
"Mon-Yr_2" << delete formula;
Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Errore mio.Ho scritto e testato il mio codice su una tabella di dati che aveva un nome diverso per la colonna della variabile di input dei caratteri, e poi, quando ho visto qual era il tuo vero nome, l'ho semplicemente ritagliato e incollato nella mia formula.È stato un errore, perché il nome della colonna ":Mon-Yr" verrà interpretato da JMP come una colonna denominata Mon e quindi sottratta da -Yr.Quanto segue è ciò che deve essere cambiato.......Sono tornato indietro e ho cambiato la mia ultima risposta in modo che i futuri lettori ottengano il codice corretto.
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"
Jim Grazie ancora per il tuo aiuto.
Di seguito è riportato lo script combinato che sto eseguendo; per il tuo codice crea una nuova colonna "Mon-Yr_2" ma la colonna no data . . . mancano i dati "."
Ricevo anche alcuni messaggi di errore che non capisco.Ho allegato un campione della tabella dei dati di partenza e il registro.
LA MIA SCRITTURA
CT2 << New Column("Mon-Yr",
Charcter,
Nominal,
format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
LA TUA SCRITTURA
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Mon-Yr, "m/y" ) )
);
Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Prendendo dal mio esempio, con piccole modifiche
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"grazie per quanto sopra; Sono al mio computer ora e posso spiegare meglio cosa sto cercando di fare.
Ho una colonna "ANNO" preesistente [Carattere, Nominale], esempio dei dati "ANNO":
K9/001/2019
K9/001/2020
K9/002/2019
K9/002/2020
K9/003/2019
Ho scritto una nuova colonna "Mon-Yr"
CT2 << New Column("Mon-Yr", Charcter, Nominal, format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
Il risultato è una nuova colonna, "Mon-Yr", [Character, Nominal].Esempio di dati "Lun-Yr":
01/2019
01/2020
02/2019
02/2020
03/2019
Quindi a questo punto vorrei creare una nuova colonna "Mon-Yr_2" [Numeric, Nominal, format ("m/y"].Potete aiutarmi a mostrarmi come scrivere questo script?
Grazie!
Re: Creare una colonna numerica, ordinale, best (12), format = ("m\y" ) "Mon-Yr" da una colonna di caratteri preesistente con "Mon-Yr" = "01/2020"Ecco un piccolo script che crea 3 colonne.La colonna 1 è Char Date, utilizzando il modulo "02/2020".La seconda colonna è una colonna formula che converte la prima colonna in un valore di data JMP, con un formato "m/y" per la visualizzazione separando la colonna dei caratteri e ricostruendola.Il terzo usa la funzione Informat() per convertire la colonna
New Table( "example",
Add Rows( 1 ),
New Column( "Char Date", Character, "Nominal", Set Values( {"02/2020"} ) ),
New Column( "JMP Date",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula(
Date MDY(
Num( Word( 1, :Char Date, "/" ) ),
1,
Num( Word( 2, :Char Date, "/" ) )
)
)
),
New Column( "JMP Date Using Informat",
Numeric,
"Continuous",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Char Date, "m/y" ) ),
Set Selected
)
)