如果打開的表數量不同,則合併數據表你好,
我有一個腳本,可以從列錶框中獲取用戶選擇的項目。 根據用戶選擇的項目數量,彈出多個表格。 新數據表的數量是可變的,我想將它們全部組合成一個更大的表,稱為組合表。 我知道 concatenate 函數可以做到這一點,但我想讓它編寫腳本以適應用戶指定數量的表。
從這段代碼中,彈出了許多名為 EachChem、EachChem 2、EachChem 3...等的新表格。 我想將它們組合成一個更大的表,稱為組合表。
For (i = 1, i <= N Items(lt), i++,
dt << Select Where( :chemical == lt[i] );
dt << Get selected rows
dt << Subset(Output Table("EachChem"), Selected Rows(i));
);
任何幫助或指針表示讚賞。
數據表視窗回复:如果打開的表數量不同,則合併數據表這應該做你想做的
theExpr = "Data Table( \!"EachChem\!") << Concatenate(";
For( i = 2, i <= N Items( lt ), i++,
theExpr = theExpr || " Data Table( \!"EachChem " || Char( i ) || "\!"),"
);
theExpr = theExpr || "Output Table( \!"Combined Table\!" ) );";
Eval( Parse( theExpr ) );回覆:如果開啟的表格數量不同,則合併資料表謝謝。成功了。
如果要連接的表的名稱也發生變化,則以下操作應該有效。
theExpr = " Data Table( \!"" || MaskList[1] || " " || Char( 2 ) || "\!") << Concatenate(";
For( i = 2, i <= N Items(MaskList), i++,
theExpr = theExpr || " Data Table( \!"" || MaskList[i] || " " || Char( 2 ) || "\!"),"
);
theExpr = theExpr || "Output Table( \!"Final Table\!" ) );";
Eval( Parse( theExpr ) );
在上面的程式碼中,
MaskList 是一個列表,其中包含數量可變的掩碼,具體取決於用戶。 MaskList 中的每個遮罩都與一個表關聯。
例如,第一個表名為 Mask1 2 ,(第二個表名為 Mask1,因此額外加了2 ),下一個要連接的表名為 Mask9 2 。 (第二個表名為 Mask9,因此額外加了2 ),依此類推。
這將連接 Mask1 2與 Mask9 2等等。
將其放在這裡只是為了記錄目的。