如何引用已经打开的数据表(来自多个打开的数据表)JSL我正在编写脚本来创建不同的报告和数据表。但是,我总是不得不逐块运行它们,然后手动单击下拉菜单来选择要在其上运行给定脚本块的数据表。
我熟悉当前的数据表()函数,但实际上不熟悉其他不需要文件路径的函数。
是否有人知道任何简单的方法来引用或选择不同的已打开的数据表,也许通过名称或其他方式?
谢谢!
自动化和脚本回复:如何引用已经打开的数据表(来自多个打开的数据表)JSL可以使用 Data Table() 函数引用任何数据表。例如:
Data Table("Big Class") << Bivariate( X(:height), Y(:weight) );
还可以在创建变量时将其设置为等于数据表,并且如果脚本中的变量未更改,它将始终引用其链接到的表。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << select where( :sex == "F" );
dtFemale = dt << subset( selected columns( 0 ), selected rows( 1 ) );
rpt = New Window( "Subset of big class - Distribution of height, weight",
dtFemale << Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) ),
Continuous Distribution( Column( :weight ), Process Capability( 0 ) )
)
);
Wait( 0 );
dtStats = rpt["Distributions", "height", "Summary Statistics", Table Box( 1 )] <<
Make Combined Data Table;
rpt << Close Window;
dtStats << Tabulate(
Change Item Label( Statistics( Sum, "Stats" ) ),
Remove Column Label( Analysis Columns( Column 2 ) ),
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :Column 2 ) ),
Row Table( Grouping Columns( :Y, :Column 1 ) )
)
);
可以使用其他方法。如果您提供正在使用的代码示例,可能会获得更多帮助。
回复:如何引用已经打开的数据表(来自多个打开的数据表)JSL如果您仍然想以交互方式选择在哪个表上运行脚本,但希望它更加健壮,您可以执行以下操作:
names default to here(1);
// Open a couple of tables for demo purposes
dt1 = open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
wait(0);
table_names = {};
For( i = 1, i <= N Table(), i++,
Insert Into( table_names, Data Table( i ) << get name );
);
If( N Items( table_names ) > 0,
tabSelect = New Window( "Select Table For Use",
<<MODAL></MODAL>回复:如何引用已经打开的数据表(来自多个打开的数据表)JSL谢谢。