Llenar una nueva columna usando una fórmula condicionalEstoy intentando completar una nueva columna ( :Prog_ ) con "A" o "B" según el valor de (:Assign Month).:Assign Month es una variable numérica, continua, m/d/y.
El siguiente script da como resultado que la columna :Prog_ se complete pero no con los valores con los que estoy tratando de completar la columna :Prog_.
Me gustaría completar las filas de la columna :Prog_ con una "A" si :Assign Month <= "15/06/2016"
Me gustaría completar las filas de la columna :Prog_ con una "B" si :Assign Month es > 15/06/2016"
Aquí está el script que he intentado usar (sin éxito) hasta ahora:
CT << Nueva columna("Prog_", Carácter);
Para cada fila (Prog_ = if( Char(Format(:Assign Month,"m/d/y")) <= "15/06/2016", "A", "B" ));
CT << Nueva columna("Prog_", Carácter);
Para cada fila (Prog_ = if(:Asignar mes <= 15/06/2016, "A", "B" ));
Modelado estadístico avanzadoAutomatización y secuencias de comandosInvestigación de Consumidores y MercadosIngeniería de Calidad y ProcesosCompartir y comunicar resultadosRe: Llenar una nueva columna usando una fórmula condicional¡Gracias por tu ayuda con este script!
Dan F.
Re: Llenar una nueva columna usando una fórmula condicionalHola Mark. ¡Gracias por tu ayuda con este script!
Dan F.
Re: Llenar una nueva columna usando una fórmula condicionalSu variable original es numérica y representa un valor de fecha y hora JMP. No es necesario convertirlo en una cadena de caracteres formateada. Puede especificar el umbral de tiempo directamente como una constante.
CT << New Column( "Prog_", Character );
For Each Row( :Prog_ = If( :Assign Month <= 15Jun2016, "A", "B" ) );
Re: Llenar una nueva columna usando una fórmula condicionalAsí es como suelo manejar este tipo de problemas.La función Informat() convierte una cadena en una representación numérica de la fecha, que luego se puede comparar fácilmente con los valores JMP DateTime.
CT = Current Data Table();
CT << New Column( "Prog_", Character );
For Each Row( Prog_ = If( :Assign Month <= Informat( "06/15/2016", "mdy" ), "A", "B" ) );
Y para agregar a @Thierry_S podría evitar For Each Row() si creara una columna de fórmula
CT = Current Data Table();
CT << New Column( "Prog_",
Character,
formula(
If( :Assign Month <= Informat( "06/15/2016", "mdy" ),
"A",
"B"
)
)
);
Re: Llenar una nueva columna usando una fórmula condicionalHola,
Primero, asegúrese de que la columna :Assign Month tenga el formato de fecha continua numérica; Supongo que el uso de comillas en la fórmula indica que ese no es el caso actualmente.
En segundo lugar, no es necesario decirle a JMP que mire cada fila, ya que lo hace de forma predeterminada.
En tercer lugar, la fórmula en la columna :Prog_ debería ser simplemente:
If( :Column 1 <= Date MDY( 16, 05, 2016 ),
"A",
"B"
)
Es de destacar que si esto es parte de un script JSL, la función debe incluirse en la declaración Nueva columna (consulte la ayuda de scripting para conocer la sintaxis exacta).
Mejor,
TS