The script below generates data similar to my actual data and plots the data in a layout similar to what I would like.
Names Default To Here(1);
clear log ();
dt = Open("$SAMPLE_DATA/Probe.jmp");
// Combine columns 1
Data Table( "Probe" ) << Combine Columns(columns( :Lot ID, :Wafer Number ), Column Name( "LotWafer" ), Delimiter( "." ));
// Combine columns 2
Data Table( "Probe" ) << Combine Columns(columns( :Die X, :Die Y ), Column Name( "[X,Y]" ), Delimiter( "," ));
// Delete columns
Data Table( "Probe" ) << Delete Columns( :Lot ID, :Wafer Number, :Die X, :Die Y );
grouped_cols = dt << get column group( "Responses" );
// Transpose data table // → Data Table( "Transpose of Probe" )
Data Table( "Probe" ) << Transpose( columns (grouped_cols), By( :LotWafer, :Process, :Start Time ),
Label( :Site ), Output Table( "Transpose of Probe" ));
close (dt, no save);
dt = Current Data Table ();
Data Table( "Transpose of Probe" )
<< New Column("Mean", Numeric, "Continuous", Format("Best", 12 ), Formula(Mean( :"1"n, :"2"n, :"3"n, :"4"n, :"5"n )));
dt = Graph Builder(
Size( 570, 458 ),
Show Control Panel( 0 ),
Variables(X(:LotWafer, Order By( :Start Time, Ascending, Order Statistic( "Mean" ) )),
Y( :Mean ), Group Y(:Label, Order By( :Process, Ascending, Order Statistic( "Mean" ) )) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
Local Data Filter(Conditional, Add Filter(columns( :Label ),Where( :Label == {"30D1_7X100_IL_12V", "30D1_7X100_IL_25V"} ),
Display( :Label, Find( Set Text( "" ) ) ))),
SendToReport(Dispatch({},"Mean",ScaleBox,{Min( -0.0000336 ), Max( 0.00004544 ),
Inc( 0.00001 ), Minor Ticks( 1 )})));
However, I would like the Process name mentioned on the Group Y (i.e. I do not want Group Y section to say, "Label ordered by Process"). As I select more labels on the local data filter (conditional), I would like the Group Y and Y to be populated accordingly.
Even better would be to have the measured parameter "Labels" on the left side "Y" axis while the "Process" names in the "Group Y" and they need to respond to my selection on the local data filter.
How to achieve this in JSL?
When it's too good to be true, it's neither