Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"Tengo una columna "Año" de carácter preexistente, por ejemplo, "K001/2020", "K002/2020", "K003/2020", etc.
Usando el script, puedo crear una nueva columna de caracteres "Mon-Yr" = "01/2020", "02/2020", "03/2020", etc. [Usé la subcadena de fórmula ("Año", < 4,7>) para hacer esto. ]
¿Qué script JMP puedo usar para convertir el carácter "01/2020", "02/2020", "03/2020", etc. a numérico, ordinal, mejor (12), formato ("m/y")?
¡Gracias de antemano por tu ayuda!
Modelado Estadístico AvanzadoAutomatización y secuencias de comandosLa personalización en masaRe: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"Gracias Jim - Funcionó perfectamente.Re: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"repito de mi respuesta anterior
"..... porque JMP interpretará el nombre de su columna ":Mon-Yr" como una columna llamada Mon y luego restará -Yr. "
JMP hará lo mismo con su << fórmula de eliminación;
Su código necesita ser cambiado de:
:Mon-Yr << delete formula;
a:
:Name("Mon-Yr") << delete formula;
Re: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"La secuencia de comandos funciona bien, pero sigo recibiendo un mensaje de "error" en el registro de la secuencia de comandos que escribí (consulte el registro adjunto).Creo que está relacionado con el nombre de la columna "Mon-Yr".
¡Gracias por tu ayuda!
MI GUIÓN:
CT << New Column("Mon-Yr",
Character,
Nominal,
Formula(Substr(:YEAR, 5, 7))
);
CT << Run formulas;
"Mon-Yr" << delete formula;
TU GUIÓN:
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: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"Mi error.Escribí y probé mi código en una tabla de datos que tenía un nombre diferente para la columna de la variable de entrada de caracteres, y luego, cuando vi cuál era su nombre real, simplemente lo corté y lo pegué en mi fórmula.Eso fue un error, porque JMP interpretará el nombre de su columna ":Mon-Yr" como una columna llamada Mon y luego restará -Yr.Lo siguiente es lo que debe cambiarse... Volví y cambié mi última respuesta para que los futuros lectores obtengan el código correcto.
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
Re: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"
Jim, gracias de nuevo por tu ayuda con esto.
A continuación se muestra el script combinado que estoy ejecutando; según su código, crea una nueva columna "Mon-Yr_2" pero la columna no tiene datos. . . faltan los datos "."
También recibo algunos mensajes de error que no entiendo.Adjunté una muestra de la tabla de datos iniciales y el registro.
MI GUIÓN
CT2 << New Column("Mon-Yr",
Charcter,
Nominal,
format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
TU GUIÓN
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Mon-Yr, "m/y" ) )
);
Re: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"Tomando de mi ejemplo, con modificaciones menores.
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);Re: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"gracias por lo anterior; Estoy en mi computadora ahora y puedo explicar mejor lo que estoy tratando de hacer.
Tengo una columna "AÑO" preexistente [Carácter, Nominal], ejemplo de los datos "AÑO":
K9/001/2019
K9/001/2020
K9/002/2019
K9/002/2020
K9/003/2019
He escrito una nueva columna "Mon-Yr"
CT2 << New Column("Mon-Yr", Charcter, Nominal, format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
Eso da como resultado una nueva columna, "Mon-Yr", [Carácter, Nominal].Ejemplo de datos "Mon-Yr":
01/2019
01/2020
02/2019
02/2020
03/2019
Entonces, en este punto, me gustaría crear una nueva columna "Mon-Yr_2" [Numérico, Nominal, formato ("m/y"].¿Puedes ayudarme a mostrarme cómo escribir esto?
¡Gracias!
Re: Cree una columna numérica, ordinal, mejor (12), formato = ("m\y" ) "Mon-Yr" a partir de una columna de caracteres preexistente con "Mon-Yr" = "01/2020"Aquí hay un pequeño script que crea 3 columnas.La columna 1 es Char Date, utilizando su formulario "02/2020".La segunda columna es una columna de fórmula que convierte la primera columna en un valor de fecha JMP, con un formato "m/a" para mostrar separando la columna de caracteres y reconstruyéndola.El tercero usa la función Informat() para convertir la columna
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
)
)