JMP 14 has a new command "Select Duplicate Rows" under the Rows menu, so you can do that directly without having to do a join.
dt << select duplicate rows(match(:a, :b, :c));
dt << delete rows;
Thanks that worked great! Here's my code for the script version:
// JMP script to Eliminate duplicate rows "matching Parent, Wafer, & Raw Number"
dt3 = Current Data Table();
dt2 = dt3 << Summary(
Group( :Parent, :Meas Wafer Id, :Raw Number )
);
dt = dt3 << Join(
With( dt2 ),
Update,
By Matching Columns(
:Parent = :Parent,
:Meas Wafer Id = :Meas Wafer Id,
:Raw Number = :Raw Number
),
Drop multiples( 1, 0 ),
Name( "Include non-matches" )(0, 0),
Preserve main table order( 1 ),
);
Close(dt2, no save);
Close(dt3, no save);
JMP 14 has a new command "Select Duplicate Rows" under the Rows menu, so you can do that directly without having to do a join.
dt << select duplicate rows(match(:a, :b, :c));
dt << delete rows;
That's great!
Meanwhile (in JMP 13), this should be equivalent
// Keep first instance of duplicates only
dt << select where(Col Min(Row(), :a, :b, :c) < Row()) << delete rows;
May I know if I want to keep the last (not first) of duplicates? How to change the script? Thanks.
Here is a variation on @ms script that should do what you want
dt << select where(Col Max(Row(), :a,:b, :c) > Row()) << delete rows;
Great! it works. Thank you, that's what I need.
Regards,Chily