안녕,
테이블 조인 기능을 시도했는데 한 번에 하나씩 조인할 수 있을 것 같습니다(예: dt1 조인과 dt2) 출력 테이블(dtnew)을 얻을 수 있습니다. 현재 출력 테이블(예: dtnew)을 사용하여 다른 테이블(예: dt3)과 조인하려면 어떻게 해야 합니까?
감사합니다.
JMP 버전 13 가상 조인 기능으로 해결된 주요 고객 중심 요구 사항 중 하나는 메모리 보존 공간이었습니다. 이것이 귀하의 상황에 맞는 것을 기쁘게 생각합니다.
이것이 귀하의 의도인지 확실하지 않지만 여러 테이블을 조인하고 JMP 13을 사용하는 경우 테이블 드롭다운으로 이동하여 JMP 쿼리 빌더를 선택할 수 있습니다.여기에서 조인 스크립트를 작성하지 않고 한 번에 최대 60개의 테이블을 조인할 수 있습니다.
HTH
다음은 각 조인에 대해 별도의 테이블을 만드는 한 가지 방법입니다.
Names Default To Here( 1 );
// Create the original table
dtBase = New Table( "Base Table",
Add Rows( 10 ),
New Column( "name",
character,
Set Values( {"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES", "ROBERT", "BARBARA", "ALICE"} )
),
New Column( "age", Set Values( [12, 12, 12, 12, 12, 12, 12, 12, 13, 13] ) ),
New Column( "sex", character, Set Values( {"F", "F", "F", "F", "F", "M", "M", "M", "F", "F"} ) )
);
// Create a second table
dt2 = New Table( "Height",
Add Rows( 10 ),
New Column( "name",
character,
Set Values( {"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES", "ROBERT", "BARBARA", "ALICE"} )
),
New Column( "height", Set Values( [59, 61, 55, 66, 52, 60, 61, 51, 60, 61] ) ),
Set Label Columns( :name )
);
// Join the two tables and create a reference to the new table
dtjoined = dtBase << Join(
With( dt2 ),
By Matching Columns( :name = :name ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Merge same name columns( 1 ),
Match Flag( 0 )
);
// Close the nolonger needed tables and set the base table reference to the new table
Close( dtBase, nosave );
Close( dt2, nosave );
dtBase = dtjoined;
// Create another table to be joined
dt3 = New Table( "Weight",
Add Rows( 10 ),
New Column( "name",
character,
Set Values( {"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES", "ROBERT", "BARBARA", "ALICE"} )
),
New Column( "weight", Set Values( [95, 123, 74, 145, 64, 84, 128, 79, 112, 107] ) ),
Set Label Columns( :name )
);
// Join the new table
dtjoined = dtBase << Join(
With( dt3 ),
By Matching Columns( :name = :name ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Merge same name columns( 1 ),
Match Flag( 0 )
);
// Close the nolonger needed tables and set the base table reference to the new table
Close( dtBase, nosave );
Close( dt3, nosave );
dtBase = dtjoined;