Hola expertos
Tengo una tabla de resumen vinculada, en la que selecciono filas, según un criterio.
En mi tabla principal, ahora necesito establecer un valor específico en una columna, para las filas seleccionadas.
He hecho una tabla básica con lo siguiente:
Error de muestra
s1 0
s1 0
s1 0
s2 0
s2 0
s2 0
Tengo un código muy simplificado como ejemplo:
dt = tabla de datos actual ();
dt_sum = dt << Resumen (
Grupo (: muestra),
Freq ("Ninguno"),
Peso ("Ninguno")
);
dt_sum << seleccione dónde (: muestra == "s1");
r = dt << obtener filas seleccionadas;
cerrar (dt_sum, nosave);
columna (dt, "error") [r] = 1;
El código se ejecuta, si el dt_sum está cerrado. En mi código, sin embargo, esto no es posible, ya que se necesita más adelante.
Recibo el siguiente error, si dt_sum no está cerrado
"No se puede establecer el valor para la columna 'error' porque el número de fila (-1) no es válido. {1}"
Además, el valor de error para las líneas 1 y 4 se cambia a 1, pero no al resto.
¿Puede alguno de ustedes explicarme por qué esto no funciona, o ayudarme con una posible solución?
Gracias de antemano, Anders
1. Creo que deberías enviar el problema al soporte de JMP. Parece que aunque esté apuntando directamente a la tabla de datos "dt", sigue mirando la tabla de datos "dt_sum" y actualizando allí.
2. Aquí hay una solución que permite que el código funcione
dt = current data table();
dt_sum = dt << Summary(
Group( :sample),
Freq( "None" ),
Weight( "None" )
);
dt_sum << select where (:sample == "s1");
r = dt << get selected rows;
//close(dt_sum, nosave);
current data table(dt);
column(dt, "error")[r] = 1;