Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
ml = dt << Manage Limits(Process Variables(Column Group("Processes")), Invisible);
ml << Show Limits All;
ml << Save to Column Properties;
ml << Close window;
dt << Set Table Variable("CURCOL", "NPN1");
dt << New Column("Color", Numeric, Nominal, << Hide(1), << Exclude(1),
<< Set Property("Value Colors", {0 = 67, 1 = 36}),
Formula(
specs = Column(:CURCOL) << Get Property("Spec Limits");
Col Min(AsColumn(Column(:CURCOL)), :lot_id) > specs["LSL"] & Col Max(AsColumn(Column(:CURCOL)), :lot_id) < specs["USL"]
)
);
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:lot_id), Y(:NPN1), Color(:Color)),
Elements(Points(X, Y, Legend(3)))
);
cw = gb << Column Switcher(
:NPN1,
{:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1,
:INM1, :INM2, :VPM1, :VPM2, :VPM3, :PMS1, :SNM1, :SPM1, :NPN5, :EP2, :ZD6,
:PBA, :PLG, :CAP, :PBA3, :PLG2, :PNP5, :NPN6, :PNP6, :PNP7, :NPN7, :PNP8,
:IVP3, :IVP4, :IVP5, :IVP6, :PNP9, :NPN8, :NPN9, :IVP7, :NPN10, :N_1, :PBA1,
:WPR1, :B10, :PLY10, :VBE210, :VTN210, :VTP210, :SIT2, :SIT3, :INV2, :INV3,
:INV4, :INV5, :FST1, :FST2, :RES1, :RES2, :PNM1, :PPM1, :FNM1, :FPM1, :FST3,
:FST4, :RES3, :RES4, :A1, :B1, :A2N, :A2P, :A2P1, :IVP8, :IVP9, :DE_H1,
:NF_H1, :ESM1, :ESM2, :ESP1, :YFU1, :VPM4, :PBA2, :PBB1, :LYA1, :LYB1, :DEM1,
:DEP1, :NFM1, :PLY1, :VDP1, :VDP2, :SNW1, :RSP2, :PLY2, :RSP1, :VDP3, :PBL1,
:PLG1, :VDP4, :SPW1, :VIA1, :INM3, :VPM5, :VPM6, :INM4, :VPM7, :M1_M1,
:M2_M2, :P1_P1, :E2A1, :E2B1, :NPN11, :IVP10, :PNP10, :INM5, :VPM8, :VPM9,
:INM6, :VPM10, :N2A1, :N2B1, :NM_L1, :P2A1, :P2B1, :PM_L1, :P1, :M1}
);
pre = Function({prevcol, curcol, switcher},
1;
);
Eval(EvalExpr(
post = Function({prevcol, curcol, switcher},
Expr(dt) << Set Table Variable("CURCOL", curcol);
);
));
handler = cw << Make Column Switch Handler(pre, post);