jmp 스크립트의 객체 참조JMP 커뮤니티 여러분, 안녕하세요.
jmp 스크립트의 객체 참조에 관한 질문이 있습니다. 아래 코드는 실행되지만(JMP pro 17.2), 프로세스 스크리닝은 버튼이 배치된 Make_Win 함수가 아닌 다른 창에 나타납니다. 복사해서 붙여넣으면 알아요
PS = dt << 공정 스크리닝(...); 부분을 V 목록 상자 안에 추가하면 동작은 예상대로 되지만 코드는 읽기가 어렵고 더 복잡해집니다.
PS를 다른 곳에서 정의하고 해당 참조만 함수 내에 포함하는 방법이 있습니까(아래 예 참조), 아니면 아래 코드가 의도한 대로 작동하도록 만드는 방법이 있습니까?
Cols = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1", "PNP4", "NPN3", "IVP2", "NPN4", "SIT1", "INM1", "INM2",
"VPM1", "VPM2"};
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
PS = dt << Process Screening(
Y( Eval(Cols)),
Control Chart Type( "Indiv and MR" ),
Minimum Process Length( 1 ),
Use Medians instead of Means( 1 ),
Show tests( 0 ),
Test 1( 0 ),
Cp( 1 ),
Spec Limits( 1 ),
);
Make_Win = Expr(
New Window( "ProcessScreening",
Vlist_box = V List Box(
PS,
MyButton = Button Box( "SelectedRows", SendRows ),
),
),
);
SendRows = Expr(
print_cols = Report( PS )[Table Box( 1 )][String Col Box( 1 )] << getselectedrows();
Print( Report( PS )[Table Box( 1 )][String Col Box( 1 )][print_cols] );
);
Make_Win();감사해요,
JNS
자동화 및 스크립팅Re: jmp 스크립트의 개체 참조이를 수행하는 데는 다양한 옵션이 있습니다. 여기에 하나가 있습니다.
Names Default To Here(1);
Cols = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1", "PNP4", "NPN3", "IVP2", "NPN4", "SIT1", "INM1", "INM2",
"VPM1", "VPM2"};
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
ps_collector = V List Box(
PS = dt << Process Screening(
Y(Eval(Cols)),
Control Chart Type("Indiv and MR"),
Minimum Process Length(1),
Use Medians instead of Means(1),
Show tests(0),
Test 1(0),
Cp(1),
Spec Limits(1),
)
);
SendRows = Expr(
print_cols = Report(PS)[Table Box(1)][String Col Box(1)] << getselectedrows();
Print(Report(PS)[Table Box(1)][String Col Box(1)][print_cols]);
);
nw = New Window("ProcessScreening", Vlist_box = V List Box(ps_collector),
Button Box("OK", sendrows);
);
Re: jmp 스크립트의 개체 참조platform(...) 기능을 사용하고 싶습니다.
Scripting Index is in the Help menu스크립팅 색인은 도움말 메뉴에 있습니다.
플랫폼이 시작되면 새 창 구성 내에서 생성되는 경우 새 창에 연결되고, 디스플레이박스 구성 내에서 생성되는 경우 디스플레이박스에 연결됩니다. 그렇지 않으면 새 창이 생성됩니다. platform() 함수는 아무 것도 연결하지 않고 루트 디스플레이 상자를 반환합니다. 과거에는 dt< 주위에 borderbox 래퍼를 사용하는 것도 권장했습니다.
스크립팅 인덱스 예제는 다음과 같이 더 의미가 있습니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p=Platform(
dt,
Bubble Plot(
X( :weight ),
Y( :age ),
Sizes( :height ),
Title Position( 0, 0 )
)
);
New Window( "Platform example",
H List Box(
Platform(
dt,
Bubble Plot(
X( :weight ),
Y( :height ),
Sizes( :age ),
Title Position( 0, 0 )
)
),
p
)
);