열에 값이 포함된 위치 선택다음과 같은 스크립트가 있습니다.
1) 사용자가 열 파일을 여러 개 선택하도록 허용
2) 데이터가 없는 파일을 닫습니다(예: NA라고 표시된 값이 하나 있는 열 하나만).
3) 열 7에 1146이 포함되지 않은 모든 파일을 닫습니다(이 열은 일부 파일에서는 Sealer #이라고 하고 다른 파일에서는 이름이 지정되지 않으며 일부 파일에서는 문자 열이고 다른 파일에서는 숫자 열입니다)
처음 두 가지는 작동했지만 세 번째는 어려움을 겪고 있습니다. 지금까지 가지고 있는 스크립트는 다음과 같습니다.
Files = Pick File(
"Select JMP File",
"$DESKTOP\Burst Data for Spencer",
{"Excel|csv;xlsx;xls", "JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"",
"multiple"
);
For( i = 1, i <= N Items( Files ), i++,
DT = Try( Open( Files[i] ) );
DT << Set Name( Files[i] );
If( N Cols( DT ) == 1,
Close( DT, No Save ),
Column( 7 ) << Data Type( Character );
check = DT << Get Rows Where( Contains( Column( 7 ), "1146" ) );
If( N Rows( check ) == 0,
Close( DT, No Save )
);
);
);
내가 말할 수 있는 최선의 문제는 라인입니다. 확인 = DT<< 행 가져오기 ( 포함 ( 열 ( 7 ), "1146" )); , 그러나 나는 그것을 고치는 방법을 알아낼 수 없습니다.
어떤 제안?
Re: 팝업 창으로 사용자에게 열을 선택하라는 메시지를 표시합니다.다운로드 폴더에 애드인을 다운로드합니다.
그런 다음 JMP로 이동하여
파일==>열기
다운로드 폴더로 이동
Runs Test.jmpaddin 파일을 한 번 클릭합니다.
그런 다음 열기 버튼의 아래쪽 화살표로 이동하여 선택합니다.
Addin Builder를 사용하여 열기
Addin Builder에서 메뉴 항목 탭을 선택합니다.
그런 다음 Runs Test 항목을 클릭하십시오.
"이 JSL 실행" 영역에 포함된 스크립트가 표시됩니다.
잘라서 스크립트 창에 붙여넣기
Re: 팝업 창으로 사용자에게 열을 선택하라는 메시지를 표시합니다.Thx Jim, 애드인을 찾았습니다. 스크립트 코드를 어떻게 봅니까?
샘
Re: 팝업 창으로 사용자에게 열을 선택하라는 메시지를 표시합니다.안녕하세요 Jim, 좀 더 구체적으로 말씀해 주시겠습니까? 내장 스크립트입니까?
감사해요
샘
Re: 팝업 창으로 사용자에게 열을 선택하라는 메시지를 표시합니다.예제와 관련하여 요청한 작업을 수행하는 예제가 포함된 "Runs Test"에서 JMP Addin을 살펴볼 것을 제안합니다. 열을 선택하고 선택 상자에 배치할 수 있는 대화 상자를 제공합니다. 또한 필터링 기능과 리콜 기능이 있습니다.
실행 테스트(Wald-Wolfowitz 테스트) 및 JMP 플랫폼의 JSL 구현 대화 상자
팝업 창으로 열을 선택하라는 메시지 표시안녕하세요 여러분, 테이블에서 2개의 열 x 좌표와 다른 y 좌표를 선택하라는 스크립트 메시지를 표시하려고 합니다.
아래 그래프는 스크립트에서 내가 좋아하는 것입니다. 사용자가 x,y 좌표를 선택한 다음 이를 사용하여 변수로 전달합니다. 다이 매핑을 수행하려면 나중에 스크립트에 필요합니다. 어떤 아이디어? 아래의 감사 그래프는 최종 결과를 보여주기 위한 포토 샵입니다.
감사해요.

Re: 열에 값이 포함된 위치 선택해당 스크립트 섹션을 디버깅하려고 시도했지만 제대로 작동하지 못했습니다. 나는 약간의 수정으로 작동하는 이 버전으로 끝났습니다.
For( i = 1, i <= N Items( Files ), i++,
DT = Try( Open( Files[i] ) );
Wait( 0 );
DT << Set Name( Files[i] );
If( N Cols( DT ) == 1,
Close( DT, No Save )
,
Column( DT, 7 ) << Data Type( Character );
Names Default To Here( 1 );
name = Char( Column( DT, 7 ) << get name );
Print( name );
Eval( Parse( "check = DT << Select Where( Contains( " || ":" || name || " , " || "char(1146)))" ) );
If( N Rows( DT << Get Selected Rows ) == 0,
Close( DT, No Save )
,
DT << Invert Row Selection;
DT << Delete Rows;
DT << Clear Select;
//oldname = char(DT<< Get Name());
//rename = char(Word(-1, oldname, "-"));
//DT<<SET name=""></SET>
Re: 열에 값이 포함된 위치 선택다음은 Get Rows Where 문의 값과 check 값을 나열하는 약간 수정된 버전의 코드입니다.
Names Default To Here( 1 );
Files = Pick File(
"Select JMP File",
"$DESKTOP\Burst Data for Spencer",
{"Excel|csv;xlsx;xls", "JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"",
"multiple"
);
For( i = 1, i <= N Items( Files ), i++,
DT = Try( Open( Files[i] ) );
Wait( 0 );
DT << Set Name( Files[i] );
If( N Cols( DT ) == 1,
Close( DT, No Save ),
Column( DT, 7 ) << Data Type( Character );
Names Default To Here( 1 );
//Current Data Table( DT );
Eval(
Parse(
"check = DT << Get Rows Where( Contains( " || ":" || Char( Column( DT, 5 ) << get name ) || " , \!"1146\!" ) ) );"
)
);
Show(
"check = DT << Get Rows Where( Contains( " || ":" || Char( Column( DT, 7 ) << get name ) || " , \!"1146\!" ) ) );",
check
);
If( N Rows( check ) == 0,
Close( DT, No Save )
);
);
);
여기에서 JMP 디버거를 실행할 수 있습니다. 내 가정은 열 7 또는 이와 유사한 것과 불일치가 있다는 것입니다. 열 값에 1146이 있는 몇 개의 행이 있는 열이 있는 샘플 데이터 테이블에서 코드를 테스트했기 때문에 코드가 작동한다는 것을 알고 있습니다.
Re: 열에 값이 포함된 위치 선택섹션을 스크립트에 넣으려고 했지만 제대로 작동하지 않는 것 같습니다. 여전히 빈 파일을 닫지만 데이터가 있고 1146을 포함하는 파일을 닫습니다. If(NRows(check)==0을 !=0으로 변경하려고 시도했지만 차이가 없는 것 같습니다. 이 오류는 로그에 표시됩니다.
예기치 않은 ")". 누락된 ";"이 있을 수 있습니다. 또는 ",".
라인 1 열 64: ...( :Sealer # , "1146" ) ) ►);...
무시된 나머지 텍스트는
업데이트된 스크립트는 다음과 같습니다.
Files = Pick File(
"Select JMP File",
"$DESKTOP\Burst Data for Spencer",
{"Excel|csv;xlsx;xls", "JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"",
"multiple"
);
For( i = 1, i <= N Items( Files ), i++,
DT = Try( Open( Files[i] ) );
DT << Set Name( Files[i] );
If( N Cols( DT ) == 1,
Close( DT, No Save ),
Column( 7 ) << Data Type( Character );
Names Default To Here( 1 );
Current Data Table( DT );
Eval(
Parse( "check = DT << Get Rows Where( Contains( " || ":" || Char( Column( 7 ) << get name ) || " , \!"1146\!" ) ) );" )
);
If( N Rows( check ) == 0,
Close( DT, No Save )
);
);
);
Re: 열에 값이 포함된 위치 선택이 코드는 작동합니다
Names Default To Here( 1 );
dt = Current Data Table();
Eval( Parse( "check = DT << Get Rows Where( Contains( " || ":" ||
Char( Column( 3 ) << get name ) || " , \!"1146\!" ) ) );" ) );