使用 Table\Join 和 Table\Update 來匹配兩個表失敗附件為表格 A、B 和 C。
表 A 中有 Peter 的 30 筆記錄。
表 B 中有 Jane 記錄的 8,790 個條目。
表C是手動產生的正確合併表。
我想匹配 Peter 和 Jane 的條目,並建立一個僅包含表 A 中「地點」的子集,從而得到表 C。
我使用了 Table\Join 和 Table\Update,但結果並不準確。
例如,如果您使用 Location=-216,161,則連接表的輸出應如下所示…
地點:彼得簡
-216,161 RDL_膜 RDL_膜
-216,161 RDL_膜。
-216,161 碎片 碎片
自動化和腳本編寫回覆:使用 Table\Join 和 Table\Update 來匹配兩個表失敗連接/更新操作運作正常,因為存在多個匹配項。您很可能需要新增一些值刪除操作來移除那些「多餘」的值。

回覆:使用 Table\Join 和 Table\Update 來匹配兩個表失敗你好,Jarmo,
你的輸出結果不正確。對於 Location= -216,161,Peter 有 3 個輸出,Jane 有 2 個輸出。正確的結果應該如下圖所示。請問如何編寫 JSL 程式碼來實現自動化?
地點:彼得簡
-216,161 RDL_膜 RDL_膜
-216,161 RDL_膜。
-216,161 碎片 碎片
回覆:使用 Table\Join 和 Table\Update 來匹配兩個表失敗對於連接/更新操作來說,這樣的輸出是正確的,但可能不是您想要的結果。
1. 在表 B 中建立 Jane 的重複列
2. 使用該新列(在我的例子中是第 3 列)作為匹配列進行更新

3. 選擇「位置」和「簡」列,依序選擇「行」>「行選擇」>「刪除重複項」。
4. 僅選擇 Jane 列(按一下列標題(有時需要按住 Alt 鍵)),然後刪除這些值(按 Delete 鍵)。


回覆:使用 Table\Join 和 Table\Update 來匹配兩個表失敗我打算用jsl實作上述功能。另外,資料集會不斷變化,有時Jane的欄位會出現重複值,這沒關係。
回覆:使用 Table\Join 和 Table\Update 來匹配兩個表失敗我可能會嘗試將其作為工作流程來實現。當然,如果您會編寫 JSL 腳本,也可以直接使用 JSL。
回覆:使用 Table\Join 和 Table\Update 來匹配兩個表失敗您是否考慮過先更改資料格式?根據我的經驗,有時將資料重新格式化為更便於分析的格式,比使用複雜的腳本來調整分析以適應資料格式要容易得多。對於特定位置,多行資料(長格式)在許多情況下都適用,但如果存在重複觀測值(即多行完全相同的資料),就會變得棘手。 JMP 並不總是知道如何處理這些重複數據,因此在連接時可能無法給出您預期的結果。
例如:您是否考慮將格式從「垂直排」改為「寬排」?這種格式在半導體檢測/測試數據中很常見,尤其是在存在多個誤差類別或良率等級時:
看更多...
Local( {obj},
obj = Data Table( "Table A" ) << Tabulate(
Add Table(
Column Table(
Grouping Columns( :Peter ),
Add Aggregate Statistics( :Peter )
),
Row Table( Grouping Columns( :Location ) )
)
);
obj << Make Into Data Table;
obj << Close Window;
);
最後得到如下所示的表格:

對於兩個操作員來說,採用這種格式合併表格會容易得多。
您也可以考慮使用多重回應建模類型。例如:
看更多...
dt=Data Table( "Table A" ) << Split(
Split By( :Peter ),
Split( :Peter ),
Group( :Location ),
Output Table( "Split of Table A by Peter" ),
Sort by Column Property
);
// New formula column: Concatenate[BL_Twin,Debris,Good_FS,Probemarks,RDL_Membrane,RDL_SpotsDark]
dt <<
New Formula Column(
Operation( Category( "Character" ), "Concatenate with Comma" ),
Columns(
:BL_Twin, :Debris, :Good_FS, :Probemarks, :RDL_Membrane, :RDL_SpotsDark
)
) << Run Formulas;
dt:"Concatenate[BL_Twin,Debris,Good_FS,Probemarks,RDL_Membrane,RDL_SpotsDark]"n <<
Set Modeling Type( "Multiple Response" );
看起來是這樣的:
