从另一个脚本获取类别。这对我目前的情况非常有帮助
已解决:从另一个脚本调用一个脚本 - JMP 用户社区
我可以从主脚本调用一个脚本。我调用的脚本将类别应用于目标数据集,我希望能够在我调用的脚本中形成一个类别列表,并将其应用于主脚本。下面是调用脚本的快照,可以迭代多个参数和类别,我希望主表中有一个可用的类别列表。
Try((Column( "Parameter") << Set Selected(1););
dt << group columns( "ENG" );
dt << deselect column group( "ENG" );):
自动化和脚本回复:从另一个脚本获取类别。您是否只是运行 Include 来运行其他脚本文件?它有表达式/函数吗?您希望哪些类别以及如何使用它们?
回复:从另一个脚本获取类别。我确实使用 Include 来运行其他脚本,该脚本将类别应用于表格列。获取所需内容的另一种方法是在完成的表格中列出类别。
回复:从另一个脚本获取类别。类别在哪里?类别是什么意思?如何将它们添加到主表中?
回复:从另一个脚本获取类别。每项具有规格的测量都属于测试组织定义的类别。有些类别为拒绝,这意味着它们对于通过至关重要;其他类别为工程,这意味着它们值得关注但对于通过而言并非至关重要。
回复:从另一个脚本获取类别。如果我理解您的帖子没有错,您调用的脚本似乎正在通过创建多个列组在数据表中创建“类别”。这些列组的名称将包括“拒绝”、“工程”、“等等...”。
运行调用的脚本后,您可以使用“获取列组名称”功能从数据表中获取列组列表。示例如下:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
show(categoryList);
更进一步,在获取类别列表后,您可以循环遍历该列表并使用“获取列组”函数获取每个列组内的所有测试测量列的列表。以下是示例:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
for( k = 1, k <= n items( categoryList ), k++,
show( categoryList[k] );
colList = dt << get column group( categoryList[k] );
print( colList );
);回复:从另一个脚本获取类别。太棒了!我使用类似这样的脚本将信息从下标传送到主脚本。我正在用另一个脚本编写下标。可能不是标准的,但我在包含规格限值的数据表列中编写脚本,将其复制为文本并粘贴到脚本窗口中。似乎有效。
Spud = (":" || cnmes2[l]);
Spuds = Parse( Eval Insert( Spud ) );
Tabname = Char( dt );
//This section of the script devises a name for each script generated.
Tabname = Char( dt );
Show( Tabname );
name = Char( Column Name( l ) );
names = Char( "Spec Limits, Group and Notes Script " ) || Char( Tabname ) || Char( name );
Show( names );
Show( Spuds );
Ainim = Regex( names, "\!"", "", GLOBALREPLACE );
Show( Ainim );
link = Char(cats);
//Scripts are generated in 2 table columns "Address Data Table" and "Group with Notes and Spec Limits" before being pasted into a Script Window.
New Column( "Address Data Table",
Character,
"Nominal",
Formula(
If( Row() == 1,
"dt=Current Data Table();
Process_Script = " || "\!"" || Ainim || "\!"" || "; Show( Process_Script );
cats = " || link || "; Show( Process_Script );"
)
)
);
Column( "Address Data Table" ) << Delete Formula;For( l = Num(Start), l <= N Items( cnmes2 ), l++,
summarize(cats=by(cnmes2 [l] ));
delcats = {"", "-"};
For( i = 1, i <= N Items( delcats ), i++,
Remove From( cats, As List( Loc( cats, delcats[i] ) ) )
);
show(cats);