从高到宽拆分:如何动态分组结果列?所以我有一个很大的 dt,我要从 TALL 拆分为 WIDE。 这会产生大量的列,所有列都具有标题格式 =“Step#_Parameter_Function”。
这些列的数量是变化的,永远无法预测和设置,步骤 # 或名称也不是。
我如何才能按步骤# 对这些列进行分组? 某种循环来扫描一长串列,挑出第一个步骤#,然后将其分配给标记为“步骤#”的组?
<< Split(
Split By( :recipe_step_id, :parameter_name, :aggregate_function ),
Split( :value ),
Group( :recipe, :equipment_id, :chamber_id, :wafer_scribe, :wafer_process_start_time ),
Output Table( "Wide" ),
Remaining Columns( Drop All ),
Sort by Column Property
);

脚本编写回复:从高到宽拆分:如何对结果列进行动态分组?这是一个简单的脚本,用于创建一组以字符“NPN”开头的新列

names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNamesList = dt << get column names(string, continuous);
NPNList = {};
for(i=1,i<=nitems(colNamesList),i++,
If(contains(colNamesList[i],"NPN")==1,
insert into(NpNList,colNamesList[i])
)
);
dt << group columns("NPNGroup", NPNList);
回复:从高到宽拆分:如何对结果列进行动态分组?惊人。最后一个问题。 是否可以向它提供要运行的字符串组列表,查找匹配的列,然后将它们放入各自的组中?
就像一个列表:
以“AAA”、“BBB”、“CCC”等开头的列
然后将它们分成标记为 AAA、BBB、CCC 的组
?
如果没有与 BBB 匹配的列,如何错误跳过?