Aplicar fórmula matemática solo en filas seleccionadas (JSL)¿Cómo aplico una fórmula matemática a filas seleccionadas solo usando JSL? Gracias por tu ayuda.
Re: Aplicar fórmula matemática solo en filas seleccionadas (JSL)Realmente no sugeriría convertir directamente el valor del campo Valor porque a menos que también cambie la columna Unidad a Celsius.
Puede usar establecer cada valor con la declaración if para reemplazar los valores en la columna. En otra parte, "devuelve" el mismo valor que hay actualmente. Algo como esto debería funcionar:
:Value << Set Each Value(
If(:Unit=="°F" /*& Selected()*/,
Conversions:Farenheit To Celsius(:Value)
, //else keep value
:Value
);
)
Re: Aplicar fórmula matemática solo en filas seleccionadas (JSL)Tengo una situación similar con una tabla de datos. Mi objetivo es convertir todos los valores en la columna "Valores" de Fahrenheit a Celsius. El script que estoy usando para hacer esto es:
For Each Row(If(:Unit=="°F", Selected(RowState())=1));
For Each Row(:Value = If(Selected(RowState(Row())), Conversions:Farenheit To Celsius(:Value)));
El script hace lo que necesito que haga en términos de conversión; sin embargo, se eliminan todos los valores que no están asociados con la unidad °F. ¿Hay algún script que se pueda agregar para ignorar las columnas no seleccionadas y, en última instancia, mantener los valores que no están asociados con la unidad °F?

Re: Aplicar fórmula matemática solo en filas seleccionadas (JSL)Aquí hay un ejemplo de mi interpretación de lo que quieres hacer.

La última columna utiliza una fórmula de columna. La fórmula implementa el cálculo condicional.

Los estados de fila son una parte vital de cómo opera JMP. Este código es equivalente pero sin instalar una fórmula de columna.
Names Default To Here( 1 );
col = Current Data Table() << New Column( "Conditional BMI" );
For Each Row( col[] = If( Selected( Row State( Row() ) ), (703 * :weight) / :height ^ 2 ) );
Re: Aplicar fórmula matemática solo en filas seleccionadas (JSL)Aquí hay un ejemplo que muestra cómo tratar exclusivamente con filas seleccionadas
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// pause to show the original data table
wait(5);
// select some rows
dt << select where( :sex == "F" );
For( i = 1, i <= N Rows( dt << get selected rows ), i++,
dt:age[i] = dt:age[i] - 2
);
dt:weight[dt<<GET selected="" rows=""></GET>
Re: Aplicar fórmula matemática solo en filas seleccionadas (JSL)No mencionó si solo desea el valor o si desea que esta sea otra fórmula de columna. Si se trata de una fórmula de columna, debe proporcionar más información.Aquí hay un ejemplo con un cálculo usando solo 2 de 6 filas.
Names Default to Here(1);
dt = new Table("Test", Add Rows(6), New Column("Values", numeric, continuous, Set Values(J(6,1, Random Integer(1,20))) ) );
mysum = :Values[2]^2 + :Values[4]^2 - 4 * :Values[2]*:Values[4] ;
show(mysum );