消除重复行(保留第一个重复行)我知道以前已经讨论过这个问题,但我正在寻找适合我的特殊情况的建议。 我有一个非常大的数据表(~50 列 x 50,000+ 行)。 我需要检查“重复行”,其中重复意味着行在三列中匹配(例如 ColA、ColB 和 ColC)。 当存在重复项时,我需要删除除第一个匹配行之外的所有行。
理想情况下,我想使用脚本来执行此操作,因为我经常需要重新拉取并重新分析更新的表。 我怀疑我可以使用汇总表来帮助解决此问题(至少它会识别并选择重复的行)。 但是,从那里我不确定如何自动移动每组“匹配”行并删除除第一行之外的所有行。回复:消除重复行(保留第一个重复行)那太棒了!
同时(在 JMP 13 中),这应该是等效的
// Keep first instance of duplicates only
dt << select where(Col Min(Row(), :a, :b, :c) < Row()) << delete rows;
回复:消除重复行(保留第一个重复行)JMP 14 在行菜单下有一个新命令“选择重复行”,因此您可以直接执行此操作,而无需进行联接。
dt << select duplicate rows(match(:a, :b, :c));
dt << delete rows;
消除重复行(保留第一个重复行)谢谢,效果很好!这是我的脚本版本的代码:
// 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);
回复:消除重复行(保留第一个重复行)我会在 3 个匹配列上使用摘要。 然后将汇总表连接到原始表,匹配相同的 3 列,选中删除重复项选项,然后仅选择输出表所需的相关列。