조건이 충족 된 후 JSL 명령을 실행하는 방법JMP 커뮤니티 사용자 여러분,
저는 JMP를 처음 접했고 문제에 직면했습니다. 여러분의 도움을받을 수 있기를 바랍니다.
데이터 테이블이 있습니다. 특정 값만 열에 대해 그래프 작성기를 실행하고 싶습니다.
예를 들어, "monitor_set_name"및 "measurement_set_name"열에 속하는 AB766 및 RSDF 셀과 "AB766"및 "RSDF"에 해당하는 다른 열과 행을 선택하고 싶습니다.

그런 다음 필요한 정보가 포함 된 테이블에 대해 "Graph builder"를 실행하고 싶습니다.
"monitor_set_name"및 "measurement_set_name"에 "AB766"및 "RSDF"가 포함되지 않은 경우 "그래프 작성기"실행으로 건너 뛰겠습니다.
조언 좀 해주시 겠어요?
진정으로,
데이터 테이블스크립팅Re : 조건이 충족 된 후 JSL 명령을 실행하는 방법아래 JSL을 생성하기 위해 대화식으로 단계를 실행한 다음 로그에서 코드를 가져와 스크립트 창에 붙여넣었습니다.
names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
// Select matching cells
Data Table( "big class" ) << Select Where( :age == 12 & :sex == "F" );
// Subset data table
// → Data Table( "Subset of big class" )
Data Table( "big class" ) << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
// Report snapshot: Subset of big class - Graph Builder
Data Table( "Subset of big class" ) << Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
// Invert current selection
Data Table( "big class" ) << Invert Row Selection;
// Subset data table
// → Data Table( "Subset of big class 2" )
Data Table( "big class" ) << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
// Report snapshot: Subset of big class 2 - Graph Builder
Data Table( "Subset of big class 2" ) <<
Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 6 ) ), Smoother( X, Y, Legend( 7 ) ) )
);
Re : 조건이 충족 된 후 JSL 명령을 실행하는 방법안녕하세요,
JMP를 처음 사용하는 경우 로컬 데이터 필터 및 열 전환기를 확인하십시오. 로컬 데이터 필터가 여기에서 도움이 될 것입니다... 나는 단지 당신이 무엇을 할 수 있는지 알려주기 위해 내 예에 열 전환기를 포함시켰습니다.
그래프를 고려하려는 데이터로 제한하려면 메뉴 항목을 클릭하기만 하면 됩니다. 코딩이 필요없고 사용하기 쉽습니다... 누구나 사용할 수 있습니다.
로컬 데이터 필터를 가져오려면 그래프 빌더의 빨간색 삼각형 메뉴에서 로컬 데이터 필터 추가를 선택합니다.
열 전환기를 가져오려면 주 메뉴에서 다시 실행 > 열 전환기를 선택합니다. 교체할 열과 회전할 열도 선택해야 합니다. 이 세트에 교체하려는 열을 포함해야 합니다. 모든 열은 동일한 데이터 유형이어야 합니다.
아래 스크립트를 실행하여 이러한 작업을 엿볼 수 있습니다.
건배,
브래디

Names Default To Here(1);
dt = open ("$Sample_Data\Car Physical Data.jmp");
Graph Builder(
Size( 526, 448 ),
Show Control Panel( 0 ),
Variables( X( :Country ), Y( :Gas Tank Size ) ),
Elements( Box Plot( X, Y, Legend( 8 ) ), Points( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Show Histograms and Bars( 0 ),
Add Filter(
columns( :Type ),
Where( :Type == "Compact" ),
Display( :Type, N Items( 5 ) )
)
),
Column Switcher(
:Gas Tank Size,
{:Weight, :Turning Circle, :Displacement, :Horsepower, :Gas Tank Size}
)
);
Re: 조건이 충족된 후 JSL 명령을 실행하는 방법친애하는 txnelson,
효과가있다. 많이 감사합니다.
나는 당신의 지시를 따르고 나 자신을 위해 그것을 적용하려고 노력합니다
dt = Open( "raw_data.csv", "invisible" );
dt << Select Where(
:monitor_set_name == "CSP_FAST_TC" & :spc_chart_subset == "STDDEV" & :measurement_set_name == "U1_X"
);
df = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ), "invisible" );
df << Graph Builder(
Size( 1056, 675 ),
Show Control Panel( 0 ),
Automatic Recalc( 0 ),
Variables(
X( :spc_txn_date ),
Y( :chart_value ),
Y( :lo_control_lmt, Position( 1 ) ),
Y( :up_control_lmt, Position( 1 ) ),
Y( :centerline, Position( 1 ) ),
Group Y( :monitor_set_name ),
Group Y( :measurement_set_name ),
Group Y( :spc_chart_subset ),
Wrap( :spc_entity )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Legend( 25 ), Connection( "Curve" ), Smoothness( 0.5 ) )
),
SendToReport(
Dispatch( {}, "spc_txn_date", ScaleBox, {Label Row( Automatic Font Size( 0 ) )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
25,
Properties( 2, {Line Color( 19 )} ),
Properties( 3, {Line Color( 0 ), Line Style( "Dotted" )} )
)}
)
)
);
df << save picture( "C:\Users\lamquocb\image.jpg" );
그러나 그림을 저장할 수 없다는 또 다른 문제가 발생했습니다 - df용 그래프 빌더.
사진을 저장하고 싶은 위치에 접근을 시도하지만 찾을 수 없습니다.
조언이 있으신가요?
진정으로,
Re: 조건이 충족된 후 JSL 명령을 실행하는 방법변수 "df"는 하위 집합 데이터 테이블을 가리킵니다.데이터 테이블에서 보고서를 생성하면 데이터 테이블의 일부가 되지 않습니다.그 자체로 존재하는 존재입니다.따라서 생성된 보고서에 액세스하는 가장 쉬운 방법은 해당 보고서를 가리킬 변수를 지정하는 것입니다.나는 당신의 스크립트의 아래 수정에서 이것을했습니다.
gb = df << Graph Builder(
변수 "gb"는 그래프 빌더 개체를 가리킵니다.코드의 뒷부분에서 그래프 빌더 플랫폼에서 생성된 보고서에 그림 저장 메시지가 적용됩니다.
report(gb) << save picture( "C:\Users\lamquocb\image.jpg" );
다음은 수정된 스크립트입니다.
names default to here( 1 );
dt = Open( "raw_data.csv", "invisible" );
dt << Select Where(
:monitor_set_name == "CSP_FAST_TC" & :spc_chart_subset == "STDDEV" & :measurement_set_name == "U1_X"
);
df = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ), "invisible" );
gb = df << Graph Builder(
Size( 1056, 675 ),
Show Control Panel( 0 ),
Automatic Recalc( 0 ),
Variables(
X( :spc_txn_date ),
Y( :chart_value ),
Y( :lo_control_lmt, Position( 1 ) ),
Y( :up_control_lmt, Position( 1 ) ),
Y( :centerline, Position( 1 ) ),
Group Y( :monitor_set_name ),
Group Y( :measurement_set_name ),
Group Y( :spc_chart_subset ),
Wrap( :spc_entity )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Legend( 25 ), Connection( "Curve" ), Smoothness( 0.5 ) )
),
SendToReport(
Dispatch( {}, "spc_txn_date", ScaleBox, {Label Row( Automatic Font Size( 0 ) )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
25,
Properties( 2, {Line Color( 19 )} ),
Properties( 3, {Line Color( 0 ), Line Style( "Dotted" )} )
)}
)
)
);
report(gb) << save picture( "C:\Users\lamquocb\image.jpg" );
시간을 내어 도움말 풀다운 메뉴 아래에 있는 JMP 문서 라이브러리에 있는 스크립팅 가이드를 읽어보시기 바랍니다!