Guardar variables en nuevas tablas y nuevas columnasEscribí un script que encuentra filas donde col2 y col3 coinciden con cadenas específicas y luego devuelve el valor de la celda en col7 de esas filas.Sin embargo, tengo problemas para escribir estas variables en Nuevas columnas en Nuevas tablas.
....
New Table( "Results",Add Rows( 2 ),
New Column( " FUS",Character,"Nominal",
Set Values({"Fus1","Fus2"})),
New Column( "PASS/FAIL",continuous,"Nominal", formula( Name Expr(APass)),formula(Name Expr(BPass)));
)Aquí, APass y Bpass son variables que igualan el valor de la columna 7 de las respectivas filas de búsqueda.Son cadenas Pass y Fail respectivamente.Sin embargo, cuando creo la tabla, la última función reemplaza y completa sus resultados en toda la tabla. Por lo tanto, la tabla debe ser Fus1-Pass Fus2-Fail, pero genera Fus1-Fail Fus2-Fail.Lo contrario cuando cambio el orden.
¿Alguna ayuda sobre cómo llenar una nueva columna con múltiples variables?
Muy apreciado
ScriptingVentanasRe: guardar variables en nuevas tablas y nuevas columnasComo se indicó en su discusión anterior sobre este tema, NO PUEDE tener fórmulas definidas para una columna.Aquí hay una ilustración simple de eso usando la tabla de datos de Big Class.Si define 2 fórmulas para una columna, la segunda fórmula reemplazará a la primera.
new column("two formula", formula(:height), formula(:weight));
Da los siguientes resultados

Tenga en cuenta que la segunda fórmula definida es la que acaba usando JMP.
Ahora bien, esto no quiere decir que una fórmula no pueda ser compleja.De hecho, se puede definir una fórmula que trate cada fila de manera diferente.Solo tiene que definirse en una fórmula.A continuación, se muestra un ejemplo simple de una fórmula más compleja que incluye varias columnas en la fórmula y hace comparaciones entre ellas.
New Column( "combined formula",
formula(
If(
:Sex == "F" & :age > 12, :weight,
:Sex == "F" & :age <= 12, :height,
:Sex == "M" & :age > 13, :weight,
:Sex == "M" & :age <= 13, :height
)
)
)

Re: guardar variables en nuevas tablas y nuevas columnasProporcioné esta respuesta a SMW en privado; con suerte ayudará a otros.
Intente ejecutar este código.Mire en la ventana de registro para ver qué sucede.La función obtener filas donde devuelve una matriz, no un número de fila real.Tienes que recorrer la matriz para usar los valores de las filas.
Names Default To Here( 1 );
dt1 = New Table( "Test", Add Rows( 4 ),
New Column( "Column 1", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Column 2", Character, "Nominal",
Set Values( {"This is EMOTIONAL", "abc", "EMO", "Here's an EMO example"} ) ),
New Column( "Column 3", Character, "Nominal",
Set Values(
{"And not KLARIFIED", "KLA", "xyz", "This contains KLA string"} ) ),
New Column( "Column 4", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., ., ., .] ) ),
New Column( "Column 5", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., ., ., .] ) ),
New Column( "Column 6", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., ., ., .] ) ),
New Column( "Column 7", Character, "Nominal",
Set Values( {"Hello", "World", "Fubar", "Ski"} ) ),
);
match_rows = dt1 << get rows where(contains(as column(2),"EMO")
& contains(as column(3),"KLA"));
for (i = 1, i <= nrows(match_rows), i++,
one_row = match_rows[i];
apass = column(dt1, 7)[one_row];
print(apass);
);