Re: seleccionar filas y luego seleccionar más en función de esoVi el 'expandir' en la selección, pero no pude averiguar cómo expandir en función de la selección anterior de un valor en otra columna de esa selección.
Re: seleccionar filas y luego seleccionar más en función de esoCreo que esto es lo que quieres
dt=current data table();
// You have a typo.....you are specifying dr and it should be dt....I assume
//dr<<SELECT where="">0.23);
dt<</SELECT><SELECT where="">0.23);
h=Column(dt, "reagentkit_id")<<GET values=""></GET></SELECT>
Seleccionar filas y luego seguir seleccionando en función de esoTengo una tabla de datos donde puedo seleccionar filas según el resultado de una columna. Luego, me gustaría expandir esa selección en función de un valor contenido en las filas seleccionadas anteriormente.
Lo intenté
dt = Current Data Table();
dr << select where( :ctrlrange > 0.23 );
h = Column( dt, "reagentkit_id" ) << get Values;
dt << select where( :reagentkit_id == h );
Eso no pareció funcionar cuando JMP se congeló.
La tabla de datos puede tener muchas líneas.
La razón por la que quiero hacer esto es que ciertas veces el rango ctrl es mayor que 0.23 y quiero todos los datos del reactivo (donde el rango ctrl puede no haber sido mayor que 0.23)
ScriptingRe: seleccionar filas y luego seleccionar más en función de esoFue un error tipográfico cuando hice la publicación en el foro.
estoy intentando
dt = Current Data Table();
dt << select where( :ctrlrange > 0.23 );
h = Column( dt, "reagentkit_id" ) << get Values;
dt << select where( Contains( h, :reagentkit_id ) );
Usándolo en una mesa que tiene más de 2.9mil líneas, JMP no responde. Supongo que este es un proceso intensivo
Re: seleccionar filas y luego seleccionar más en función de esoSi la lista "h" es muy larga, entonces será un script muy intensivo. Le sugiero que cree una tabla de datos de resumen agrupada en su columna: reagentkit_id. Asegúrese de tener seleccionado el "Enlace a la tabla de datos original" y luego seleccione todas las filas en la Tabla de resumen. El enlace a la tabla original obligará a que todas las coincidencias de la tabla de resumen se seleccionen en la tabla original.Re: seleccionar filas y luego seleccionar más en función de eso¿Debo seleccionar las líneas con el rango de control mayor que 0.23. Luego, haga un subconjunto en otra tabla y luego use esa tabla para seleccionar el reagentkit_id de la tabla original.Re: seleccionar filas y luego seleccionar más en función de esoTu premisa original no funciona como crees. << obtener valores no solo devuelve valores de filas seleccionadas.
Aquí hay un ejemplo que funciona usando un criterio de selección, que debería ser bastante eficiente.
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
dt << select where(:weight <100);
dt << hide and exclude;
dt_rgt = dt << Summary(
Group( :name ),
Freq( "None" ),
Weight( "None" ),
link to original data table(1)
);
dt_rgt << delete rows;
dt << clear rowstates;
dt_rgt << select all rows;
close( dt_rgt, nosave);Re: seleccionar filas y luego seleccionar más en función de esoBuena idea.
Intenté esto
dt = Current Data Table();
dt << select where( :ctrlrange > 0.23 );
h = Column( dt, "reagentkit_id" ) << get Values;
dt_rgt = dt << Summary(
Group( :reagentkit_id ),
N Catagories( :reagentkit_id ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 1 )
);
dt_rgt << select where( Contains( h, :reagentkit_id ) );
Creó una tabla de resumen que estaba vinculada. Pero seleccionó todas las filas en la tabla de datos original. No solo las líneas de datos que tenían el reagentkit_id que se seleccionó porque uno de sus: ctrlrange estaba por encima de 0.23.
Si comento dt_rgt << seleccione donde (Contiene (h,: reagentkit_id)); funciona. Lo que significa que en una tabla pequeña con 2150 filas, selecciona las 6 líneas que tienen el rango de control mayor que 0,23 y crea la tabla de resumen.
Re: seleccionar filas y luego seleccionar más en función de esodt = Current Data Table();
dt << select where( :ctrlrange > 0.23 );
dt << Subset( Output Table( "Sel" ), Selected Rows( 1 ), selected Columns( 0 ) );
dt_rgt = dt << Summary(
Group( :reagentkit_id ),
N Catagories( :reagentkit_id ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 1 )
);
//h = Column( Sel, "reagentkit_id" ) << get Values;
dt_rgt << select where( Contains( Sel, :reagentkit_id ) );
No estoy seguro de cómo indicar que debe seleccionar dónde busca en la tabla Sel los valores a seleccionar en la tabla dt_rgt.
¿¿Algunas ideas??