안녕하세요. 저는 매우 간단한 형식의 SQL 테이블을 가져올 수 있습니다. 한 열에는 고유 ID(UID)가 있고 다른 열에는 열 헤더가 있으며 세 번째 열에는 UID가 있습니다. 특정 셀에 동일한 UID가 있는 다른 테이블이 있습니다. 첫 번째 테이블("UID")의 값을 두 번째 새 테이블("New")에 연결하고 싶습니다.
Tabulate는 열 머리글을 정렬하고 행 개수를 제공하는 완벽한 도구이지만 UID 열에는 문자열과 숫자 데이터가 모두 포함되어 있기 때문에 tabulate를 통해 테이블에 값을 직접 채울 수 없으므로 대신 UID를 입력했습니다. 표 작성 도구의 값을 확인하세요. 이것은 적어도 나에게 어떤 가치가 어디에 속하는지를 연관시킬 수 있는 방법을 제공했습니다.
테이블 간 UID를 검색할 필요 없이 테이블이 실제 값(통계 필요 없음)을 직접 채울 수 있다면 이것이 이상적입니다.
의사 코드를 작성하는 것은 수행해야 할 작업을 보여주기에 충분히 쉽지만 JSL에는 운이 없습니다. 누구든지 도와줄 수 있나요?

for( i = 1, i <= N Cols( data table( "New" ) ), i++, // col-by-col
for( j = 1, j <= N rows( data table( "New" ) ), j++, // row-by-row
if( isempty( column( data table( "New" ), i)[j] ), continue(), // if cell empty, move to next row
id_val = column( data table( "New" ), i)[j] &
id_loc = data table( "UID" ) << Get rows where( :UID == id_val) &
data table( "New" ):eval( column( data table( "New" ))[j] = data table( "UID" ):UID[ id_loc[1] ]
);
);
);
시간 내 주셔서 감사합니다!
안녕 @Starfruit밥
아마도 다음이 도움이 될 수 있습니다.
Names Default To Here( 1 );
dtnew = New Table( "new",
Add Rows( 3 ),
New Column( "Column 1", Character, "Nominal", Set Values( {"1", "4", ""} ) ),
New Column( "Column 2", Character, "Nominal", Set Values( {"", "3", ""} ) ),
New Column( "Column 3", Character, "Nominal", Set Values( {"", "5", "2"} ) )
);
dtuid = New Table( "uid",
Add Rows( 5 ),
New Column( "UID", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 2, 3, 4, 5] ) ),
New Column( "Val", Character, "Nominal", Set Values( {"apple", "12.3", "987", "abc", "3"} ) )
);
for (i=1, i<=ncols(dtnew), i++,
for ( ii=1, ii <=nrows (dtnew), ii++,
if ( Column (dtnew ,i)[ii] == "", continue (),
abc= num( ( (Column (dtnew ,i)[ii])));
Column (dtnew ,i)[ii] = char (dtuid:val[abc]);
)));
스크립팅이 매우 부자연스럽게 느껴집니다.
귀하의 응용 프로그램에서 작동하는지 알려주십시오.
안녕하십니까 @ron_horne ,
Column (dtnew ,i)[ii] = char (dtuid:val[abc])
위의 줄은 dt:New의 셀에서 찾은 UUID를 :UID에 해당 값이 있는 dt:UID의 행에 연결한 다음 해당 행 번호를 사용하여 dt:New의 해당 셀에 저장하지 않습니다.<< Get rows where( :UID == abc ) 이외의 행 번호를 찾을 수 있는 간단한 명령이 있습니까? 그렇다면 위에서 답변하신 내용을 바탕으로 이 스크립트를 완성할 수 있을 것 같습니다.
통계 없이 데이터 유형 및 모델링에 관계없이 셀의 실제 값에 표를 만들 수 있는 방법이 있습니까?
해결! JMP로 이 작업을 수행하는 대신 누군가에게 SQL 쿼리를 수정하도록 요청했는데 훨씬 쉽습니다.