Try( nw << Close Window () ); // ============================================================================================= nw = New Window( "Process Capability", tbTest = Tab Box( dpTest = Tab Page Box( "Distribution Plots", tbDistrTest = Tab Box() ) ) ); // ============================================================================================= dt_sample = Data Table( "sampleData" ); ycols_Test = {}; colList_Test = dt_sample << Get Column Names( String ); For( i = 1, i <= N Items( colList_Test ), i++, Spec = Column( dt_sample, colList_Test[i] ) << Get Property( "Spec Limits" ); If( Is Empty( Spec ) == 0, Insert Into( ycols_Test, colList_Test[i] ); ); ); // ============================================================================================= Try( If( Is Scriptable( tb_Test ), tb_Test << Delete ) ); tb_Test = Tab Page Box( Title( " Screening Parameters" ), vlb_Test = V List Box( dfcb_Test = Data Filter Context Box( filter_Test = H List Box( V List Box( H List Box( graph_vlb_Test = V List Box( graph_Test = Graph Box( Frame Size( 810, 635 ) ) ) ) ) ) ) ) ); Wait( 0.5 ); tbDistrTest << Append( tb_Test ); dfcb_Test << Delete; dfcb_Test = Data Filter Context Box( filter_TestV = V List Box( filter_Test = H List Box( graph_vlb_Test = V List Box( lbfilter = Lineup Box( N Col( 2 ), Border Box( Sides( 15 ), dt_sample << Data Filter( Local, Mode( Show( 0 ) ), Add Filter( columns( :wafer_number, :part_number, ), Display( :wafer_number, Size( 188, 16 ), Height( 16 ) ), Display( :part_number, Size( 188, 16 ), Height( 16 ) ), ) ) ) ) ) ) ) ); Wait( 0.5 ); vlb_Test << Append( dfcb_Test ); line_Test = N Items( ycols_Test ); gb_expr_Test = {}; For( i = 1, i <= N Items( ycols_Test ), i++, ycol_Test = ycols_Test[i]; expr_Test = Eval Insert( "\[gb_expr_Test[^i^] = Expr( gb_Test = dt_sample << Distribution( Stack( 1 ), Show Legend( 0 ), Show Control Panel( 0 ), Automatic Recalc( 1 ), Continuous Distribution( Column( "^ycol_Test^" ), Horizontal Layout( 1 ), Vertical( 0 ), Outlier Box Plot( 1 ), Summary Statistics( 1 ), Quantiles( 0 ), Fit Normal ) ); Report( gb_Test )[Framebox( 1 )] << Frame Size( 719, 70 ); Report( gb_Test )[Framebox( 2 )] << Frame Size( 719, 612 ); Try( If( Is Scriptable( bbSpec ), bbSpec << Delete ) ); theCurrSpecs = column( dt_sample, ycols_Test[^i^] ) << get property( "Spec Limits" ); if ( isMissing(theCurrSpecs["LSL"]), LSL = ., LSL = theCurrSpecs["LSL"] ); if ( isMissing(theCurrSpecs["USL"]), USL = ., USL = theCurrSpecs["USL"] ); if ( isMissing(theCurrSpecs["Target"]), Target = ., Target = theCurrSpecs["Target"] ); graph_vlb_Test << Append( bbSpec = Border Box( Sides( 15 ), obSpec = Outline Box( "Spec Limits", lbSpec = Lineup Box( N Col( 4 ), tbSpec1 = Text Box( "Test" ), tbSpec2 = Text Box( "LSL" ), tbSpec3 = Text Box( "Target" ), tbSpec4 = Text Box( "USL"), tebSpec = Text Edit Box( Eval Insert( "^ycol_Test^" ) ), nebSpec2 = Number Edit Box( LSL ), nebSpec3 = Number Edit Box( Target ), nebSpec4 = Number Edit Box( USL ), Button Box( "Load New Spec Limits" ) ) ) ) ) )]\" ); Eval( Parse( expr_Test ) ); ); y_list_expr_Test = Expr( y_mtx_Test = y_lb_Test << Get Selected Indices; y_i_Test = y_mtx_Test[1]; hlb_Test << Delete; vlb_Test << Append( hlb_Test = H List Box( Eval( gb_expr_Test[y_i_Test] ) ) ); ); graph_Test = H List Box( lb_Test = Lineup Box( N Col( 1 ), vlbLegend_Test = V List Box(), bbFilter_Test = Border Box( Sides( 15 ), pb12_S = Outline Box( "RF Test", Scroll Box( Size( 200, 195 ), y_lb_Test = List Box( ycols_Test, Width( 150 ), N Lines( Eval( line_Test ) ), Min Selected( 1 ), y_list_expr_Test ) ) ) ), Spacer Box( Size( 0, 5 ) ), ), pb2_Test = Panel Box( "", vlb_Test = V List Box( hlb_Test = H List Box( Eval( gb_expr_Test[1] ), ) ) ), ); y_lb_Test << Set Selected( 1 ); lbfilter << Append( graph_Test ); dt_sample << Clear Select; // =============================================================================================