전치의 맥락에서 시도해보세요SQL 쿼리에서 얻은 일부 데이터의 전치를 수행하는 스크립트가 있습니다. 쿼리의 정확한 열이 다를 수 있는 스크립트에 약간의 관대함을 추가하고 싶습니다. 현재 스크립트는 작동하기 위해 존재해야 하는 일련의 열을 요구하고 SQL 쿼리의 분산을 수용하기 위해 Try() 기능을 어떻게든 적용하고 싶습니다.
try 문에 전치를 포함하여 연습을 했지만 실패했습니다.
자동화 및 스크립팅Re: 전치의 맥락에서 시도하다어떤 부분에 문제가 있나요? 열 이름이 변경되어 SQL 쿼리가 실패하나요? 아니면 예상한 열을 가져오지 못해 JSL 스크립트가 실패하나요? 문제가 발생하면 어떻게 해야 하나요?
Re: 전치의 맥락에서 시도하다SQL은 예상대로 데이터를 가져오지만 연산자는 JMP가 전치할 것으로 예상하는 모든 열을 포함하지 않을 수 있습니다. 그런 다음 문제는 명시적 열이 지정되었지만 누락된 것으로 나타나는 JMP 끝에서 발생합니다.
JMP 로그는 다음을 나타냅니다.
'columns'에 대한 액세스 또는 평가에서 열을 찾을 수 없습니다. 잘못된 인수({:SAMPLE}).
Re: 전치의 맥락에서 시도하다그리고 그 경우 무엇을 해야 할까요? 프로그램 실행을 중지할까요? 스크립트의 그 부분을 건너뛸까요? 올바른 열을 가져오려고 시도할까요?
Re: 전치의 맥락에서 시도하다실제로 나타난 열에서만 실행하고 누락된 열 때문에 실패하지 않기를 원합니다. 궁극적으로 SQL 쿼리의 차이에 대해 어느 정도 관대한 스크립트가 필요합니다. 많은 연산자가 사용해야 하며 차이가 발생하기 때문입니다. 제가 가진 한 가지 장점은 전치 열(:VALUE)과 레이블 열(:PARAMETER)에 고정된 제목이 있다는 것입니다. 여기와 다른 곳에서 찾은 정보의 도움을 받아 이 부분을 조금 파헤쳐 보았고, 작동하는 것 같은 아래 스크립트를 얻었습니다.
해결됨: 목록에서 요소 제거 - JMP 사용자 커뮤니티
도와주셔서 고맙습니다.
dt = Current Data Table();
// List available columns
by_col_names = dt << get column names( "String" );
show(by_col_names);
// Remove Transpose and Label columns from list
delcols = {"VALUE", "PARAMETER"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( by_col_names, As List( Loc(by_col_names, delcols[i] ) ) );
);
// Transpose only if valid columns exist
If (N Items(by_col_names) > 0,
dt2 = dt << Transpose(
Columns(:VALUE),
By(
by_col_names
),
Label( :PARAMETER ),
Output Table( "Transpose of dt_data" )
);
);