cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
%3CLINGO-SUB%20id%3D%22lingo-sub-723216%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%84%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-723216%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EJMP%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%AE%E7%9A%86%E3%81%95%E3%82%93%E3%80%81%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E6%99%82%E9%96%93%E3%82%92%E5%89%B2%E3%81%84%E3%81%A6%E5%89%8D%E5%9B%9E%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%AB%E7%AD%94%E3%81%88%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%80%81%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%20(JMP%20pro%2017.2)%20%E3%81%AF%E3%80%81%E6%84%8F%E5%9B%B3%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E7%A7%81%E3%81%AE%E7%9B%AE%E6%A8%99%E3%81%AF%E3%80%81%20%3CSTRONG%3E%5B%E3%82%84%E3%82%8A%E7%9B%B4%E3%81%97%5D%3C%2FSTRONG%3E%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E6%8A%BC%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%8C%E3%80%8Clot_id%E3%80%8D%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E5%8C%96%E3%81%8B%E3%82%89%E3%80%8Cwafer%E3%80%8D%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E5%8C%96%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EPS%20%E5%A4%89%E6%95%B0%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A%E3%81%8C%E4%BF%9D%E6%8C%81%E3%81%95%E3%82%8C%E3%80%81%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E5%8C%96%E5%A4%89%E6%95%B0%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E3%80%8C%26lt%3B%26lt%3B%E3%80%8D%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E5%8B%95%E7%9A%84%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E4%BE%8B%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E7%B0%A1%E5%8D%98%E3%81%AA%E8%A7%A3%E6%B1%BA%E7%AD%96%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%E3%80%82%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ECols%20%3D%20%7B%22NPN1%22%2C%20%22PNP1%22%2C%20%22PNP2%22%2C%20%22NPN2%22%7D%3B%0AGR%20%3D%20%22lot_id%22%3B%0Adt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22%20)%3B%0A%0APLAT%20%3D%20Platform(%0A%09dt%2C%0A%09PS%20%3D%20Process%20Screening(%0A%09%09Y(%20Eval(%20Cols%20)%20)%2C%0A%09%09Grouping(%20Eval(%20GR%20)%20)%2C%0A%09%09Control%20Chart%20Type(%20%22Indiv%20and%20MR%22%20)%2C%0A%09%09Minimum%20Process%20Length(%201%20)%2C%0A%09%09Use%20Medians%20instead%20of%20Means(%201%20)%2C%0A%09%09Show%20tests(%200%20)%2C%0A%09%09Test%201(%200%20)%2C%0A%09%09Cp(%201%20)%2C%0A%09%09Spec%20Limits(%201%20)%2C%20%0A%09)%2C%20%0A)%3B%0A%0ARedo%3D%20Expr(%0A%09%09%09GR%20%3D%20%22wafer%22%3B%0A%09%09%09%0A%09%09%09NW%20%26lt%3B%26lt%3B%20Close%20Window%3B%0A%09%09%09PS%20%26lt%3B%26lt%3B%20Redo%20Analysis%3B%0A%09%09%09Make_Win()%3B%0A)%3B%0A%0AMake_Win%20%3D%20Expr(%0A%09NW%20%3D%20New%20Window(%20%22ProcessScreening%22%2C%0A%09%09Vlist_box%20%3D%20V%20List%20Box(%20%0A%09%09PLAT%2C%20%0A%09%09BB%20%3D%20Button%20Box(%20%22Redo%22%2C%20Redo%20)%2C%0A%09%09)%2C%0A%09)%2C%0A)%3B%0A%0AMake_Win()%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%81%3C%2FP%3E%3CP%3ENJS%E3%80%82%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-723216%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%A8%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EmacOS%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-723232%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%84%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-723232%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E3%81%82%E3%81%AA%E3%81%9F%E3%81%8C%E4%BD%95%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%8B%E3%81%AE%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2%E3%82%92%E4%B8%8E%E3%81%88%E3%82%8B%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0ACols%20%3D%20%7B%22NPN1%22%2C%20%22PNP1%22%2C%20%22PNP2%22%2C%20%22NPN2%22%7D%3B%0AGR%20%3D%20%22lot_id%22%3B%0A%0Adt%20%3D%20Open(%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22)%3B%0A%0Aps%20%3D%20Expr(dt%20%26lt%3B%26lt%3B%20Process%20Screening(%0A%09Y(Eval(Cols))%2C%0A%09Grouping(Eval(GR))%2C%0A%09Control%20Chart%20Type(%22Indiv%20and%20MR%22)%2C%0A%09Minimum%20Process%20Length(1)%2C%0A%09Use%20Medians%20instead%20of%20Means(1)%2C%0A%09Show%20tests(0)%2C%0A%09Test%201(0)%2C%0A%09Cp(1)%2C%0A%09Spec%20Limits(1)%0A))%3B%0A%0A%0Aredo_ps%20%3D%20Expr(%0A%09If(GR%20%3D%3D%20%22lot_id%22%2C%0A%09%09GR%20%3D%20%22wafer%22%3B%0A%09%2C%0A%09%09GR%20%3D%20%22lot_id%22%3B%0A%09)%3B%0A%09%0A%09ps_collector%20%26lt%3B%26lt%3B%20Delete%20Box()%3B%0A%09vlb%20%26lt%3B%26lt%3B%20Append(ps_collector%20%3D%20V%20List%20Box(ps))%3B%0A)%3B%0A%0Anw%20%3D%20New%20Window(%22ProcessScreening%22%2C%20%0A%09V%20List%20Box(%0A%09%09vlb%20%3D%20V%20List%20Box(%0A%09%09%09ps_collector%20%3D%20V%20List%20Box(ps)%0A%09%09)%2C%0A%09%09BB%20%3D%20Button%20Box(%22Redo%22%2C%20redo_ps)%3B%0A%09)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar

How to dynamically update process screening or other objects.

Hello again JMP community,

 

Thanks a lot for taking your time and answer my previous question. The code that I run below (JMP pro 17.2) doesn't seem to work as intended. My goal is after I press the Redo button, the Process Screening changes from grouping by "lot_id" to grouping by "wafer".

 

I guess that once I declare the PS variable it keeps all the initial settings and it is not possible to dynammically update it as I could not find any "<< " command that would update the Grouping variable. Is there a simple solution for this example:

 

Cols = {"NPN1", "PNP1", "PNP2", "NPN2"};
GR = "lot_id";
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );

PLAT = Platform(
	dt,
	PS = Process Screening(
		Y( Eval( Cols ) ),
		Grouping( Eval( GR ) ),
		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 ), 
	), 
);

Redo= Expr(
			GR = "wafer";
			
			NW << Close Window;
			PS << Redo Analysis;
			Make_Win();
);

Make_Win = Expr(
	NW = New Window( "ProcessScreening",
		Vlist_box = V List Box( 
		PLAT, 
		BB = Button Box( "Redo", Redo ),
		),
	),
);

Make_Win();

 

Best regards,

NJS.

 

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: How to dynamically update process screening or other objects.

This might give some ideas what you could do

Names Default To Here(1);

Cols = {"NPN1", "PNP1", "PNP2", "NPN2"};
GR = "lot_id";

dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");

ps = Expr(dt << Process Screening(
	Y(Eval(Cols)),
	Grouping(Eval(GR)),
	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)
));


redo_ps = Expr(
	If(GR == "lot_id",
		GR = "wafer";
	,
		GR = "lot_id";
	);
	
	ps_collector << Delete Box();
	vlb << Append(ps_collector = V List Box(ps));
);

nw = New Window("ProcessScreening", 
	V List Box(
		vlb = V List Box(
			ps_collector = V List Box(ps)
		),
		BB = Button Box("Redo", redo_ps);
	)
);
-Jarmo

View solution in original post

1 REPLY 1
jthi
Super User

Re: How to dynamically update process screening or other objects.

This might give some ideas what you could do

Names Default To Here(1);

Cols = {"NPN1", "PNP1", "PNP2", "NPN2"};
GR = "lot_id";

dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");

ps = Expr(dt << Process Screening(
	Y(Eval(Cols)),
	Grouping(Eval(GR)),
	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)
));


redo_ps = Expr(
	If(GR == "lot_id",
		GR = "wafer";
	,
		GR = "lot_id";
	);
	
	ps_collector << Delete Box();
	vlb << Append(ps_collector = V List Box(ps));
);

nw = New Window("ProcessScreening", 
	V List Box(
		vlb = V List Box(
			ps_collector = V List Box(ps)
		),
		BB = Button Box("Redo", redo_ps);
	)
);
-Jarmo