I have jsl script to plot a variability chart. Would be grateful if there's anyone could advise me how to put the control limits for each individual variability chart corresponds to every y variables. I was told that there's a possibility to utilize "loop" into the jsl script. However, I'm not sure how to use that. Sincerely appreciate it if there's someone could guide me through the process.
Below are the control limits I wanted to add into the variability chart:
- HOLDFORCEDURATION_2 [UCL=1250 ; LCL: 800]
- O2_LEVEL [UCL = 100]
- SETUPROT_X [ UCL=40; LCL:-40]
- SETUPROT_Y [ UCL=40; LCL:-40]
- MAXTEMP_2 [UCL=315]
- MINCHASEHEIGHT_4 [LCL= -18]
- RETRACTHEIGHT_6 [UCL:13]
- MAXHEIGHT_10 [UCL=30}
- RELEAEHEIGHTRANGE_11 [LCL=0; UCL=90]
- RELEASETIME_11 [UCL=0]
- LOADCELLFREESTATE_11 [UCL:1000]
Current Data Table (Data Table("ICX XCP KPP Last 24 Hours_csv"));
Data Table("ICX XCP KPP Last 24 Hours_csv") << Clear Row States;
/*------------------------------------------------------------------------------------
|
| Generate a Chart or Perform a Table Manipulation
|
--------------------------------------------------------------------------------------*/
MyVariability21 = outlinebox("",::Var = /*MyVariability21*/ Variability Chart(
Y( :Name("o2level"),:Name("setuprot_x"),:Name("setuprot_y"),:Name("bhvacdelta_11"),:Name("maxbhvac"),:Name("maxbhvac_11"),:Name("minbhvac_11"),:Name("maxminbhvacindex_11"),:Name("maxbsvac1"),:Name("maxbsvac2"),:Name("maxbsvac3"),:Name("maxbsvac4"),:Name("nozzleoffset_theta"),:Name("nozzleoffset_x"),:Name("nozzleoffset_y"),:Name("diepickupforce_phx"),:Name("dieoffset_theta"),:Name("dieoffset_x"),:Name("dieoffset_y"),:Name("die_align_ratio"),:Name("sub_align_ratio"),:Name("ddlo_x"),:Name("ddlo_y"),:Name("deltaminiz"),:Name("maxcontactforce_1"),:Name("ramp_rate_offset"),:Name("maxtemp_2"),:Name("holdforceduration_2"),:Name("maxheight_2_time"),:Name("meltdetectheight_2"),:Name("meltrate_2"),:Name("tiptilt_y_range_2"),:Name("tiptilt_x_range_2"),:Name("mch3_mch4_delta"),:Name("maxchaseholdforce_4"),:Name("minchaseforcef_3"),:Name("minchaseheight_4"),:Name("maxheight_6"),:Name("maxretractheight_6"),:Name("minforce_6"),:Name("rangeretractforce_6"),:Name("retractheightchange6_9"),:Name("retractheight_6"),:Name("retractrate_6"),:Name("stateduration_6"),:Name("normalized_maxforce_7"),:Name("tiptilt_x_range_7"),:Name("tiptilt_y_range_7"),:Name("minforce_7"),:Name("retractdelta8_10"),:Name("retractdelta9_10"),:Name("minforce_8"),:Name("soldercoolduration_6_10"),:Name("contractionrate_10"),:Name("endretractforce_10"),:Name("maxheight_10"),:Name("loadcellfreestate_10_hi"),:Name("loadcellfreestate_10_lo"),:Name("loadcellfreestate_11"),:Name("rangeretractforce_10"),:Name("minforce_10"),:Name("slopeheight_10"),:Name("stateduration_10"),:Name("tiptilt_x_range_10"),:Name("tiptilt_y_range_10"),:Name("minforce_11"),:Name("tiptilt_x_range_11"),:Name("tiptilt_y_range_11") ),
X( :Name("prodgroup3"),:Name("link"),:Name("test_or_bond_head_id"),:Name("bondstage"),:Name("lot") ),
Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ),
SendToReport(
Dispatch({},"Variability Chart",FrameBox,Row Legend(:Name("carrier_x"),Color( 1 ),Color Theme( "JMP Default" ),Marker( 1 ),Marker Theme( "Standard" ),)),,
Dispatch( {}, "2", ScaleBox, {Show Major Grid( 0 ), Show Minor Grid( 0 ) }),
,
Dispatch( {}, "Variability Chart", FrameBox, {Frame Size( 570, 180 ), Background Color( -16777215 ), Marker Size( 2 )} ),
)
);
if( Is scriptable(::VAR),
VAR << Show Points (1) ;
VAR << Show Range Bars (1);
VAR << Show Cell Means (1) ;
VAR << Connect Cell Means (1);
VAR << Variability Summary Report (0);
VAR << Std Dev Chart (0);
); //Is Scriptable
/*MyVariability21*/
);
Quick question:
Are you trying to add all 11 attributes to each y variable, or are the 11 things the different y variables with their associated control limits?
If all 11 are different, there might be a pretty easy non-scripting way to to do this. With just a little bit of scripting on your graph axis to display control limits in a variability plot.