개요
JSL을 사용하여 목록에 보유한 여러 열 이름을 JMP의 다양한 분석 플랫폼의 시작 창에서 지정하고 싶을 수도 있습니다.
예를 들어, JMP의 샘플 데이터 "Pollen.jmp"의 모든 열에 대해 [분석] > [일변량 분포]로 분석을 하고 보고서를 출력하는 JSL을 쓰고 싶습니다.
결론을 보면 이 예제와 같은 경우 Eval List() 함수를 사용해야 합니다.
절차
다음은 실행할 때 오류가 발생하고 보고서가 출력되지 않는 스크립트의 예입니다.
//このスクリプトは説明のために用意した失敗の例です。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Pollen.jmp" );
//サンプルデータ"Pollen.jmp"を開く。
columnlist = dt << Get Column Names( String );
//開いた"Pollen.jmp"の列名を文字列で取得し、リストに入れる。
dt << Distribution( Column( columnlist ) );
//リストに入れた列名の列に対して「一変量の分布」で分析したいが...
이 스크립트를 실행하면 샘플 데이터 "Pollen.jmp"가 열리지만 보고서는 출력되지 않습니다. JMP 메뉴에서 보기 > 로그를 선택하고 로그를 확인하면 다음 출력을 확인할 수 있습니다.
Distribution , Bad Argument( {columnlist} ), Distribution( /*###*/Column( columnlist ) )へのアクセスまたはその評価中のメッセージ:見つかりません。
이 경우 Eval List() 함수를 사용해야 합니다. Eval List() 함수를 사용하여 목록의 항목을 평가할 수 있습니다. 이번 "Pollen.jmp"의 모든 열에 대해 [분석] > [일변량 분포]로 분석을 실시하고 보고서를 출력하는 예의 경우 아래와 같이 Eval List() 함수를 사용하여 스크립트를 작성합니다.
//このスクリプトは正しい例です。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Pollen.jmp" );
//サンプルデータ"Pollen.jmp"を開く。
columnlist = dt << Get Column Names( String );
//開いた"Pollen.jmp"の列名を文字列で取得し、リストに入れる。
dt << Distribution( Column( Eval List( columnlist ) ) );
//リストに入れた列名の列に対して「一変量の分布」で分析を行う。