选择行,然后根据该行进一步选择我有一个数据表,我可以在其中根据一列结果选择行。然后,我想根据先前选择的行中包含的值扩展该选择。
我试过了
dt = Current Data Table();
dr << select where( :ctrlrange > 0.23 );
h = Column( dt, "reagentkit_id" ) << get Values;
dt << select where( :reagentkit_id == h );
当 JMP 冻结时,这似乎不起作用。
数据表可能有很多行。
我想这样做的原因是某些时候 ctrlrange 高于 0.23,我想要来自试剂的所有数据(其中 ctrl 范围可能不高于 0.23)
脚本回复:选择行,然后根据该行进一步选择您最初的前提并不像您认为的那样起作用。<
这是一个使用选择标准的示例,应该非常有效。
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);回复:选择行,然后根据该行进一步选择dt = 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 ) );
不确定如何指示它应该选择在 Sel 表中查找要在 dt_rgt 表中选择的值的位置。
有任何想法吗??
回复:选择行,然后根据该行进一步选择我应该选择 ctrlrange 大于 0.23 的行吗? 然后子集到另一个表中,然后使用该表从原始表中选择 reagentkit_id?回复:选择行,然后根据该行进一步选择好主意。
我试过这个
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 ) );
它创建了一个链接的汇总表。 但它选择了原始数据表中的所有行。 不是 kust 具有被选择的 reagentkit_id 的数据行,因为它的 :ctrlrange 之一超过 0.23。
如果我注释掉 dt_rgt << select where( Contains( h, :reagentkit_id ) );有用。 这意味着在一个有 2,150 行的小表中,它会挑选出 ctrlrange 大于 0.23 的 6 行,然后生成汇总表。
回复:选择行,然后根据该行进一步选择如果列表“h”真的很长,那么它将是一个非常密集的脚本。 我建议您在 :reagentkit_id 列上创建一个汇总数据表分组。 确保您选择了“链接到原始数据表”,然后选择汇总表中的所有行。 指向原始表的链接将强制在原始表中选择汇总表中的所有匹配项。回复:选择行,然后根据该行进一步选择我在论坛发帖的时候打错了。
我在尝试
dt = Current Data Table();
dt << select where( :ctrlrange > 0.23 );
h = Column( dt, "reagentkit_id" ) << get Values;
dt << select where( Contains( h, :reagentkit_id ) );
在有超过 290 万行 JMP 的表上使用它没有响应。我认为这是一个密集的过程
回复:选择行,然后根据该行进一步选择我相信这就是你想要的
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>
回复:选择行,然后根据该行进一步选择我在选择中看到了“扩展”,但无法弄清楚如何根据先前选择从该选择的另一列中的值进行扩展。