JLS- Divide la columna por un valor<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola de nuevo,
Estoy escribiendo un script que abre varios archivos csv y los une; ¡Está funcionando bien!
En una columna, me gustaría dividir los valores de otra columna por un valor. Simplemente no puedo entenderlo. Sin embargo, puedo hacerlo en el editor de fórmulas, pero no creo que pueda usar esa sintaxis mientras se realizan las secuencias de comandos.
dt << Nueva Columna ("."); // solo para crear una columna en blanco
dt << Nueva columna ("Id (A / mm)");
col = Columna ("Id (A / mm)");
col << Configurar fórmula (Columna ("Id (A)") / Wg);
col << EvalFormula;
[código/]
Re: JLS- divide la columna por un valorElegí usar el segundo método de David. Creo que entiendo por qué su primer método tiene un problema, pero no pude hacer los cambios sugeridos. Mientras ejecuto el script, puedo crear todas las columnas nuevas, pero las fórmulas no funcionan.
col = nueva columna ("."); // agregar columna en blanco
col = Nueva columna ("Id (A / mm)", numérico, continuo);
col << Configurar fórmula (Eval, Parse (": Id (A) /" || Char (Wg)));
col << eliminar propiedad (": Id (A) /" || Char (Wg));
Re: JLS- divide la columna por un valorSí, bien visto. Gracias
Re: JLS- divide la columna por un valorHay un problema con la primera solución provista por David. Mientras que el código funcionará, la fórmula creada es:
: Secuencia / valueToDivideBy
Dado que "valueToDivideBy" es una variable de memoria escalar, que desaparecerá una vez que se cierre la sesión JMP, o podría cambiar de valor durante el transcurso del procesamiento del día, el valor calculado de "col" podría volverse inválido o incorrecto. La segunda versión de la fórmula sería la preferida. Sin embargo, si desea utilizar la estructura de la primera solución, puede hacer un par de cosas:
1. Cambia la fórmula Se a:
col << Establecer fórmula (Eval (Parse (": Sequence /" || char (valueToDivideBy)));
2. Convierta la fórmula a valores estáticos una vez que se haya aplicado la fórmula. Para hacer esto, agregue la siguiente línea después de la columna << Establecer línea de fórmula
col << eliminar propiedad ("fórmula");
Re: JLS- divide la columna por un valoralgo como esto tal vez
algunos números = 1 :: 10 ;
Nueva mesa ( "manifestación" ,
Añadir filas ( 10 ) ,
Nueva Columna ( "Secuencia" , numérico , continuo , << Establecer valores ( algunos números ) )
) ;
columna = Nueva Columna ( "." , numérico , continuo ) ;
valueToDivideBy = 2 ;
columna << Establecer fórmula ( : Secuencia / valueToDivideBy ) ;
// o ...
columna = Nueva Columna ( ".." , numérico , continuo ) ;
columna << Establecer fórmula ( As Columna ( "Secuencia" ) / 2 ) ;