날짜 사이에 식별자로 두 데이터 세트를 결합합니다.안녕하세요, 첫 번째 타이머입니다.
고유 식별자가 거의 없는 서로 다른 두 소스의 서로 다른 두 테이블/데이터 세트를 결합하고 일치시키려고 합니다...
프로세스 예: 위젯이 처리되고(이 경우 두 개의 서로 다른 시약 사용) 출력 테이블(아래, 이벤트당 한 행)에 "작업 시작 날짜 시간" 및 "작업 완료 날짜 시간"이 포함됩니다. 위젯의 고유 식별자는 "SFC" 및 "Shop Order"입니다.
출력 표 1

"작업 시작 날짜 시간"과 "작업 완료 날짜 시간" 사이에 프로세스 데이터가 제출됩니다(이하, 이벤트당 24개 행)...
출력 표 2

제출 데이터(Output Table 2)를 이벤트 데이터(Output Table 1), 기본적으로 각 이벤트의 결과와 일치시키려고 합니다. 각 "SFC"(위젯)는 "Shop Order"에 연결되어 있지만 여러 이벤트 데이터 세트를 가집니다. 즉 SN12345 == Shop Order 98765이고 여러 개의 "DATE" 제출(출력 표 2)이 있을 수 있지만 각 "DATE" 제출에는 제출당 고유한 "GROUP_ID"가 있습니다.
주요 목표는 출력 표 2 "이름" 및 "값"을 출력 표 1의 "시약 유형"과 일치시켜 시약 비교를 시각화할 수 있도록 하는 것입니다.
내가 충분히 잘 설명했으면 좋겠고(진흙처럼 명확하게) 이것이 이 사이트가 작동하는 방식이기를 바랍니다!
미리 감사드립니다!
해석학데이터 테이블Re: 날짜 사이에 식별자로 두 데이터 세트를 결합합니다.정말 놀라운 커뮤니티입니다! 감사합니다!
Re: 날짜 사이에 식별자로 두 데이터 세트를 결합합니다.이것이 정확히 원하는 것인지 확실하지 않습니다.샘플 데이터는 샘플 데이터의 시작 및 완료 시간을 기반으로 정말 좋은 일치를 제공하지 않습니다.보다 완전한 데이터에 대해 아래 코드를 실행하십시오. 제공하신 2개의 예제 데이터 테이블도 첨부했습니다.
Names Default To Here( 1 );
dt1 = Data Table( "Output 1" );
dt2 = Data Table( "Output 2" );
// Loop through the Output 1 data table and set a unique id,
// and assign the same unique id to the Output 2 data rows
// that fall within the start and completion times
dt1 << New Column( "The Row", formula( Row() ) );
// Turn values to static
dt1:The Row << delete formula;
// Add a new column to the Output 2 data table that will be
// filled in below
dt2 << New Column( "The Row" );
For( i = 2, i <= N Rows( dt1 ), i++,
foundRows = dt2 << get rows where(
dt2:SFC == dt1:SFC[i] & dt2:SHOP_ORDER == dt1:Shop Order[i] & dt1:Operation Start Date Time[i] <= dt2
:DATETIME & dt1:Operation Completion Date Time[i] >= dt2:DATETIME
);
If( N Rows( foundRows ) > 0,
dt2:The Row[foundRows] = dt1:The Row[i];
)
);
// Join the data
dt3 = dt1 << Join(
With( dt2 ),
By Matching Columns(
:SFC = :SFC,
:Shop Order = :SHOP_ORDER,
:The Row = :The Row
),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 )
);
// Cleanup the data tables
// uncomment the 2 lines below to automate the cleanup
// dt1 << delete columns(:The Row );
// dt2 << delete columns(:The Row );
Re: 날짜 사이에 식별자로 두 데이터 세트를 결합합니다.테스트용 예제 데이터 세트를 제공할 수 있습니까? 필요한 경우 테이블 메뉴에 있는 JMP의 익명화 기능을 사용하여 데이터를 익명화할 수 있습니다. 일치에 필요하므로 시간, SFC를 제외한 모든 것을 익명화할 수 있다고 생각합니다.