大家好,
我有一个JMP数据表,我想在该表上创建一个脚本,以根据想要保持灵活的时间范围创建子集。
在社区中,我发现下面的脚本(下面在此处报告)对我很有用,我只缺少部分代码,在选择开始日期和结束日期之后,该子集在新的数据表中创建。
有人可以帮我吗?
谢谢。
dt = current data table ();
tmpstr =
"SELECT pen_parametric.pn_id, pen_parametric.equiplk_ky, parametric_dlk.paramlk_ky,
FROM MATS.parametric_dlk parametric_dlk, MATS.pen_parametric pen_parametric
WHERE parametric_dlk.paramlk_ky = parametric_ref_llk.paramlk_ky
AND parametric_dlk.paramlk_ky = pen_parametric.paramlk_ky
AND ((pen_parametric.part_dm Between {ts '^sdt^'} And {ts '^edt^'}))";
New Window( "Query Date",
<<MODAL></MODAL>因此,您拥有的脚本将导致定义的开始日期“ sdt”和定义的结束日期“ edt”。
您只需要一个脚本来选择表中日期在sdt和edt之间的行。
然后子集选定的行。
看一下JMP脚本编制索引。帮助>脚本编制索引。并查看有关“选择位置和子集”的信息和示例。
这是“选择位置”索引中的示例:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
dt << Process Screening(
Y( :DIAMETER ),
Grouping( :MACHINE, :Phase ),
Select Where( Alarm Rate > 0 )
);
这是来自子集索引的示例。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Subset(
Rows(
[28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40]
)
);
如果只需要一个脚本,该脚本将从表中的选定行中为您提供子表,则以下是使用Big Class示例数据集的示例:
Data Table( "Big Class" ) << Subset(
Selected Rows( 1 ),
)
从JMP中的示例数据中打开Big Class数据集。手动选择一些行。然后运行此脚本,看看会发生什么。
希望所有这些都会有所帮助。
问候,
菲尔