選擇行,然後根據該行進一步選擇我有一個數據表,我可以在其中根據一列結果選擇行。然後,我想根據先前選擇的行中包含的值擴展該選擇。
我試過了
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>
回复:選擇行,然後根據該行進一步選擇我在選擇中看到了“擴展”,但無法弄清楚如何根據先前選擇從該選擇的另一列中的值進行擴展。