중복된 행을 삭제하려면 어떻게 해야 하나요?The deletion of duplicate rows is starting to frustrate me! I'm on version 18.
In the following script I have Sorted the table on SN (asc), Date & Time (desc). I then create a New Column "DuplicateFlag" and then apply the Formula If( Lag(:SN, 1) == :SN, 1, 0 ). This adds 0 for no duplicate and 1 for duplicate. We then Select the rows = to 1 and Delete the Selected Rows.<BR /><BR />This appears to work great when the Date and Time are of different values for the associated SN. However, when the Date & Time are the same for the associated SN it does not delete the duplicate SN.<BR /><BR />What suggestions to ensure that all duplicate SN's are successfully deleted.
// Sort the SIDE_1_PRE_MTG table by SN (ascending), Date (descending), and Time (descending)
dt_sort = dt_erroneousdelete << Sort(
By( :SN, :Date, :Time ),
Order( Ascending, Descending, Descending ),
Replace Table
);
// Add a DuplicateFlag column to mark duplicate SN entries
dt_sort << New Column("DuplicateFlag",
Numeric,
"Continuous",
Formula(
If( Lag(:SN, 1) == :SN, 1, 0 )
)
);
// Select rows where DuplicateFlag is 1 and delete them
dt_sort << Select Where( :DuplicateFlag == 1 );
dt_sort << Delete Rows; // Deletes the selected rows
// Remove the DuplicateFlag column after deleting duplicates
dt_sort << Delete Columns("DuplicateFlag");자동화 및 스크립팅Re: 중복된 행을 삭제하려면 어떻게 해야 하나요?JMP 숫자 날짜/시간 열에 대해 매우 흥미롭네요. 앞으로 조심해야겠어요.
귀하의 제안에 감사드립니다.
남자
Re: 중복된 행을 삭제하려면 어떻게 해야 하나요?제 문제를 알아냈어요. 제가 모르는 사이에 중복이 있는 다른 테이블의 조인과 관련이 있었어요. 중복을 제거하여 테이블을 정리한 후 모든 것이 잘 작동했습니다.
제가 조인한 테이블에서 중복을 삭제하기 위해 귀하의 코드를 사용했는데, 완벽하게 작동했습니다.
감사합니다
Re: 중복된 행을 삭제하려면 어떻게 해야 하나요?날짜 및 시간 열은 JMP 숫자 날짜/시간 열입니까? 그렇다면 날짜 열에 표시된 값은 동일하게 표시될 수 있지만 실제 숫자 값(01JAN1904 이후의 초 수)은 다를 수 있습니다. 날짜 열의 표시 형식을 고정 12월, 20, 4로 변경하고 차이가 있는지 확인하십시오.
Re: 중복된 행을 삭제하려면 어떻게 해야 하나요?제가 당신이 하려는 것을 올바르게 이해했다면, Select Duplicate Rows가 작동할 것입니다. https://www.jmp.com/support/help/en/18.0/#page/jmp/select-rows.shtml# . 삭제할 행을 표시하는 데이터세트(모형이면 될 듯)를 제공해 주시겠습니까?
Re: 중복된 행을 삭제하려면 어떻게 해야 하나요?당신이 제안한 단순한 제안을 시도해 보았지만 효과가 없었습니다.
문제는 제가 정렬 기준으로 삼는 3개의 열이.....
오름차순의 SN, 내림차순의 날짜, 내림차순의 시간(이것은 SN에 따른 가장 최근의 기록을 맨 위나 첫 번째 줄에 놓습니다)은 모두 같은 값입니다. 첨부된 화면 샷에 따르면 SN, 날짜 및 시간은 모두 연관된 SN당 같은 값입니다(저는 각 매칭 세트에 색상 코드를 지정했습니다)..
Re: 중복된 행을 삭제하려면 어떻게 해야 하나요?당신이 찾고 있는 것을 정확히 따라가고 있는지 잘 모르겠습니다. 이런 식으로 작동하지만 데이터 테이블에 맞게 수정된 것이 있을까요?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select duplicate rows( Match( :age, :height ) );
dt << Delete rows ();