從高到寬拆分:如何動態將結果列進行分組?所以我有一個很大的 dt,我正在將其從“高”拆分為“寬”。這會產生大量列,所有列的標題格式均為「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
);

資料混合與清理大規模客製化回覆:從高到寬分割:如何動態將結果列進行分組?- 請花時間閱讀 JMP 文件庫「說明」下拉式選單中的腳本指南。它將為您提供可用於解決問題(例如您當前詢問的問題)的語言結構。
- 下面是一個簡單的範例腳本,它會建立它找到的列組。請注意,故意沒有以 XYZ 開頭的列,即使腳本會檢查它
Names Default To Here( 1 );
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNameList = dt << get column names( string );
NPNList = {};
PNPList = {};
XYZList = {};
// Find matching column names
For( i = 1, i <= N Items( colNameList ), i++,
If(
Left( colNameList[i], 3 ) == "NPN",
Insert Into( NPNList, colNameList[i] ),
Left( colNameList[i], 3 ) == "PNP",
Insert Into( PNPList, colNameList[i] ),
Left( colNameList[i], 3 ) == "XYZ",
Insert Into( XYZList, colNameList[i] )
)
);
// If groups of columns are found, creat JMP groupings
If( N Items( NPNList ) > 0,
dt << select columns( NPNList );
dt << group columns();
);
If( N Items( PNPList ) > 0,
dt << select columns( PNPList );
dt << group columns();
);
If( N Items( XYZList ) > 0,
dt << select columns( XYZList );
dt << group columns();
);回覆:從高到寬分割:如何動態將結果列進行分組?驚人的。最後一個問題。是否可以向其提供要運行的字串組列表,查找匹配的列,然後將它們放入各自的組中?
就像一個清單:
以「AAA」、「BBB」、「CCC」等開頭的列
然後將它們分組標記為 AAA、BBB、CCC
?
如果沒有符合 BBB 的列,如何跳過錯誤?