타임스탬프를 사용하여 테이블에서 중복 데이터 삭제죄송합니다. 이 포럼에서 이 질문이 여러 번 요청되었지만 내 문제에 대한 해결책을 찾지 못했습니다.
나는 ~24,000행의 테스트 데이터로 구성된 대규모 데이터 세트를 가지고 있습니다. 우리 프로세스는 5개의 다이에 대해 5단계 검증을 실행하는 것이며, 결과를 얻으면 테스트를 시작합니다. 이는 궁극적으로 해당 5개 사이트에서 반복 데이터를 갖게 된다는 것을 의미합니다.이 5단계 검증은 때때로 테스트 장비를 분해하고 다시 설정하는 결과를 낳는 접점을 확인합니다. 1차 테스트(터치다운)에서 중복된 데이터를 제외하려고 합니다. 테스트에는 타임스탬프가 표시되므로 기존 테스트와 새 테스트를 쉽게 구별할 수 있습니다. 누군가 내 문제에 대한 훌륭한 해결책을 가지고 있다면 나는 귀를 기울일 것입니다. 중복 항목을 제거하려는 데이터 테이블이 첨부되어 있습니다.
감사합니다,
잉
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.안녕하세요 Mr. 텍사스넬슨 ,
새로운 스레드를 만드는 대신 여기에서 연락드릴 수 있을 거라 생각했어요. 중복 데이터를 삭제하기 위해 제공한 스크립트의 출력 테이블을 사용하여 수율을 계산하고 선택 목록/웨이퍼 맵을 생성하는 데 도움이 필요합니다. 커뮤니티 포럼을 뒤져보니 2016년에 시작된 게시물을 발견했습니다. 모든 출력 변수 등을 따라가는 것은 다소 혼란스럽고 어렵습니다. 최종 출력물인 표를 첨부했습니다.
분할, 스택, 표 작성, 요약을 사용해 보았지만 해결책을 찾지 못하는 것 같습니다. 실제로 :trmode라는 열을 제외하고는 동일한 두 개의 별도 테이블이 있습니다. 앞서 언급했듯이 수율 분석을 실행한 다음 선택 목록과 웨이퍼 맵을 생성하려고 합니다. 실제로 저는 여러분이 저에게 제공한 도구를 사용하여 현재 작업 중인 또 다른 test_output 테이블을 가지고 있습니다.
dummy_data_tx: test_output에는 각 채널에 대한 사양 제한(LSL = 20 및 USL = 40)이 있습니다.
dummy_data_rx: test_output에는 각 채널에 대한 사양 제한(LSL = 15 및 USL = 35)이 있습니다.
dummy_data_dc: test_output의 사양 제한은 다음과 같습니다. (실제로 이 테스트에서는 중복 데이터를 삭제하는 데 문제가 있습니다..
set_id(7000) - VDD_Dig(LSL = 0.03 및 USL = 0.06)
set_id(7100) - VDD_Dig(LSL = 0.03 및 USL = 0.06)
set_id(7200) - VDD_Dig(LSL = 0.03 및 USL = 0.06)
다시 한번 도움을 주시면 정말 감사하겠습니다..
set_id (7000) - 아날로그(LSL = 0.03 및 USL = 0.07)
set_id(7100) - VDD_Dig(LSL = 0.2 및 USL = 1)
set_id(7200) - VDD_Dig(LSL = 0.15 및 USL = 0.35)
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.감사합니다 텍사스넬슨 ,
나는 오늘 아침에 이것을 시험해보고 내 서버 풀 스크립트/테이블 조작에 통합할 것입니다.
다시한번 진심으로 감사드립니다..
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.나는 그 문제를 다시 생각해 보고, 완전한 방법론을 생각해 냈습니다.이 코드는 웨이퍼에서 작동합니다.
Names Default To Here( 1 );
dt = Current Data Table();
// Summarize the data to find the maximum :ts for each wafer/rowcol
dtSum = dt << Summary(
Group( :wafer_number, :RowCol ),
Max( :ts ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
link to original table( 0 )
);
// Join the data together matching only where the max :ts for each
// wafer/rowcol
dtFinal = dt << Join(
With( dtSum ),
Merge Same Name Columns,
By Matching Columns( :wafer_number = :wafer_number, :RowCol = :RowCol, :ts = :ts ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 )
);
dtSum << delete columns("N Rows");
Close( dtSum, nosave );
// Delete all rows that do not match the maximum value of :ts within
// each Wafer, RowCol
dtFinal << select where( Not( :Match Flag == 3 ) );
dtFinal << delete rows;
// Get rid of the Match Flag column which is an artifact of the Join
dtFinal << delete columns("Match Flag");Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.텍사스 넬슨,
중복 데이터 제거에 관해 질문 하나 더.. 전반적인 분포와 단방향 t-테스트 분석을 수행하기 위해 모든 웨이퍼를 포함하는 포괄적인 데이터 풀을 수행한다는 사실을 언급하는 것을 잊어버렸습니다.
제가 첨부한 데이터 테이블은 웨이퍼 1개에 대한 테스트 데이터 입니다..스크립트에서 Wafer_number를 어디에 넣나요? summary() 부분에 포함할까요?
참고용으로 새 데이터 표를 첨부했습니다.
우리 서버에서 가져오는 SQL 스크립트가 있다는 것이 지적되었기 때문에 다른 하나를 삭제해야 했습니다...
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.이런....9가 아니라 1이 되어야 하는데Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.궁금해요! 저는 산업공학자인데 코딩이 너무 어렵네요.. If() 및 For()는 처음부터 루프에 빠졌습니다(말장난을 용서하세요). 어떻게 9를 숫자로 결정할 수 있었나요?
다시 한번 감사드립니다Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.매우 감사합니다! 여러분의 스크립트 작성 능력에 정말 놀랐습니다. 여기서 나는 이것을 달성할 정교한 스크립트가 될 것이라고 생각했고 당신은 그것을 10줄 안에 얻을 수 있었습니다.
당신과 Mr. gzmorgan0 매우 도움이 되었습니다..
참고 사항: 저희 회사에는 JMP 14를 제공하는 PO가 있어서 매우 기대됩니다.
다시한번 감사드립니다. 텍사스넬슨 ..
Yng (더 이상 Yng가 아님)
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.나는 이것이 트릭을 수행할 것이라고 생각합니다.... 단순히 해당 RowCol의 최대 타임스탬프보다 작은 타임스탬프(ts)를 가진 주어진 RowCol에 대한 모든 행을 찾은 다음 삭제합니다.처리하는 데 몇 분 정도 걸리지만 작동하는 것 같습니다.
Names Default To Here( 1 );
dt = Current Data Table();
// remove formula leaving static data
try(dt:RowCol << delete formula);
Summarize( dt, byGroup = by( "RowCol" ) );
For( i = 1, i <= N Items( byGroup ), i++,
theRows = dt << get rows where( dt:RowCol == byGroup[i] & :ts < Col Max( dt:ts, :RowCol ) );
If( N Rows( theRows ) > 1,
dt << delete rows( theRows )
);
);
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.미안합니다.. 불필요한 컬럼을 삭제하고 다시 첨부했습니다.
test_output은 내가 필요한 데이터입니다. RowCol은 내가 테스트 중인 장치의 식별자입니다.
RowCol {r2c3sr1sc1, r2c8sr1sc1, r4c5sr1sc1, r7c3sr1sc1, r7c8sr1sc1}의 요약 테이블을 첨부했는데 중복된 데이터가 있습니다. 데이터 세트에서 해당 장치의 초기 테스트를 삭제해야 합니다. 가장 빠른 타임 스탬프를 가질 수 있습니다. 이 5개의 장치는 각 테스트 출력에서 제거해야 하는 모든 설정에 사용됩니다.
Re: 타임스탬프를 사용하여 테이블에서 중복 데이터를 삭제합니다.첨부된 데이터 테이블에서 삭제하려는 테스트 1의 데이터가 포함된 행을 식별하는 데 문제가 있습니다.대상 데이터를 나타내는 1~2개의 사례에 대한 행 번호를 제공해 주시겠습니까?