如何根据列值对数据表进行子集化你好!我有一个很大的 JMP 文件,其中包含许多产品(> 75 个产品批次)的稳定性测试结果。我想创建一个脚本来根据列值(即批号)对测试数据行进行子集化,同时仅包含文件中的某些测试结果列。 我对 JMP 和 JMP 脚本编写相当陌生,但我已经设法将以下脚本放在一起:
Data Table( "Stability Trending" ) <<
Subset(
Output Table( "Data Subset - Lot 12345" ),
Copy formula( 0 ),
Selected Rows( 0 ),
Rows(
[1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325,
1326, 1327, 1328, 1329]
),
columns(
:Protocol No.,
:Lot No.,
:Final Fill Configuration,
:Name( "Storage Temperature (°C)" ),
:Time Point,
:Time Interval,
:Sterility Result,
:Name( "Test 1 Result" ),
:Name( "Test 2 Result" ),
:pH Result,
:Name( "Test 3 Result" ),
:Name( "Test 4 Result" )
)
)
现在,脚本正在根据找到特定批次数据的行号来选择行。这不是最佳选择,因为修改稳定性研究时有时会在表中插入行。我如何修改上面的脚本以根据“批号”对“批号 12345”的行进行子集化?列号而不是行号?我正在使用 JMP 15(如果这很重要)。
消费者和市场研究分享和交流结果回复:如何根据列值对数据表进行子集化谢谢大家的建议。这是我最终所做的:
dt = Data Table( "Stability Trending" );
LN={"Lot 12345"};
dt<<SELECT where=""></SELECT>生成的数据表为我提供了我正在寻找的输出 - 仅包含感兴趣的批号的行和我指定的列的测试结果。
回复:如何根据列值对数据表进行子集化犯了一个拼写错误(忘记将我的列名称之一替换为示例中的列名称“批号”):
Data Table( "Stability Trending" ) << Row Selection(
Select where( :Lot No. == "Lot 12345" ),
Dialog( Edit( Equal( Source Column( :Lot No. ) ) ), Keep dialog open( 0 ) )
);
Subset( (Selected Rows), Output Table Name( "Subset-Lot 12345" ) );
回复:如何根据列值对数据表进行子集化我建议使用“选择位置”功能(在“行”->“行选择”下找到)。 与此类似的东西应该有效:
Data Table( "Stability Trending" ) << Row Selection(
Select where( :Lot No. == "Lot 12345" ),
Dialog( Edit( Equal( Source Column( :Lot No. ) ) ), Keep dialog open( 0 ) )
);
Subset( (Selected Rows), Output Table Name( "Subset-Lot 12345" ) );
回复:如何根据列值对数据表进行子集化也许这个例子对你有用,BR
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
dt_lst = dt << Subset(
By( :lot_id ),
All rows,
columns( :wafer, :Wafer ID in lot ID, :SITE, :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 )
);
Wait( 1 );
For( i = 1, i <= N Items( dt_lst ), i++,
Close( dt_lst[i], nosave );
wait(0.2);
);