你好。我是 Jeon。
我是JMP的初学者。
我想要一个脚本,用于根据我选择的项目制作散点图矩阵。
你能帮我一下吗?
我将一个数据表拆分为两个数据表。
一个有测试项目的值(*数据类型:数字和连续),另一个有上限和下限。(*字符和常量)
两个不同的数据表中的列名(=测试项目名称)相同。
两个示例数据表如下所示。

有了这两个,我想要得到如下所示的散点图矩阵报告。

我有一些疑问。
1. 已修复 X 轴(列#1 名为“测试名称”)。但 Y 轴将通过类似对话框的方式供用户选择。(*多项)
由于 X 是固定的,我只想选择 Y 项目。过滤器对于查找测试项目是必要的。

2.我想为每个散点图矩阵添加参考线。(*两条参考线:上限、下限。)
3.我只想显示报告,而不是数据表。
我添加了迄今为止我编写的脚本。请帮助我。
dt = Open(
//dt_address,
"C:\Users\admin\Desktop\전\JSL_P\MA1305_PR16_NC_R013_7719110_W02_IPS142858_08182023.csv",
columns(
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 1 ) ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 0 ),
Column Names Start( 1 ),
Data Starts( 47 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
//delete not used column & Row
dt=Current Data Table ();
dt << Delete Columns( :"Column 2"n, :"Column 3"n, :"Column 4"n, :"Column 5"n);
dt << delete row( 6 );
// dt_item includes Test Number, Lower Limit, Upper Limit, Units.
dt << select rows({1,2,3,4,5}) ;
dt_item = subset( dt );
dt << delete rows( {2,3,4,5} );
//dt3 = dt << subset( Selected Rows( 1 ), Selected columns only( 0 ) );
//dt2 << concatenate( dt3, AppendToFirstTable( 1 ) );
//Fill Coulum with Test Names (*dt)
For( c = 1, c < N Col( dt ), c ++,
Column( dt, c ) << Set Name( Column( dt, c )[1] );
);
//Fill Coulum with Test Names (*dt_item)
For( c = 1, c < N Col( dt_item ), c ++,
Column( dt_item, c ) << Set Name( Column( dt_item, c )[1] );
);
//delete not used column & Row
dt << delete rows( {1} );
dt_item << delete rows( {1} );
//Change Data Type (*dt)
colList = dt << get column names(charater);
For(i=1,i<=n items(colList), i++,
column(dt, colList[i]) << Data Type( Numeric ) << Set Modeling Type( Continuous );
);
///Data pre-processing done.
//Read Test Item & Upper limit & Lower limit.
rowNum = 1;
col = Column( dt_item(), "SPK_RCV_VOS_Post_0p5W");
test_no = col[ rowNum ];
//Read UL
rowNum = 2;
col = Column( dt_item(), "SPK_RCV_VOS_Post_0p5W"); // !!!!!!!!!!I want to select multiple items with dialog and read Upper limit
Upper_limit = col[ rowNum ];
//Read LL
rowNum = 3;
col = Column( dt_item(), "SPK_RCV_VOS_Post_0p5W"); // !!!!!!!!!!I want to select multiple items with dialog and read Lower limit
Lower_limit = col[ rowNum ];
dt << Scatterplot Matrix(
Y( :SPK_RCV_VOS_Post_0p5W ), // !!!!!!!!!!I want to select multiple Y items with dialog. X is Fixed.
X( :Test Name ),
Fit Line( 0 ),
SendToReport(
Dispatch(
{},
"1100",
ScaleBox,
{Add Ref Line( Upper_limit, "Solid", "Red", "ul", 1 ),
Add Ref Line( Lower_limit, "Solid", "Dark BlueCyan", "ll", 1 )} //!!!!!!!!I want to add referrence line with Upper & Lower Limit.
),
Dispatch( {}, "Test Name", TextEditBox, {Set Text( "Site #" )} )
)
);
谢谢。