- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Missing Local Filter when Append Graph to the new Window
I try to append graph with local filter to the new window
The graph is appeared in the New Window Tab but the local filter is missing.
Yld2 =
Graph Builder(
Size( 604, 690),
Show Control Panel( 0 ),
Variables( X( :Index ), Y( :Yield ), Page( :Process ) ),
Elements(
Points( X, Y, Legend( 4 ) ),
Line( X, Y, Legend( 5 ) ),
Caption Box( X, Y, Legend( 6 ), Per Factor( 1 ) )
),
Local Data Filter(
Add Filter( columns( :Process ), Where( :Process == {"Auto_Align", "Final_Electrical_Test"} ),Display( :Process, N Items( 10 ) ) )
)
);
plot = new window("Plot", tb = tab box());
tb << append ("Yield Trend By Process",vlb = vlistbox());
vlb << append(report(Yld2));
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Missing Local Filter when Append Graph to the new Window
The Local Data Filter is independent of the Graph Builder Report, so it has to be added separately.
The path to the Local data filter is being referenced by going to the parent of the Graph Builder object and then referencing the Outline Box for the Local Data Filter.
Yld2 = Graph Builder(
Size( 604, 690 ),
Show Control Panel( 0 ),
Variables( X( :Index ), Y( :YieProcess ), Page( :sex ) ),
Elements(
Points( X, Y, Legend( 4 ) ),
Line( X, Y, Legend( 5 ) ),
Caption Box( X, Y, Legend( 6 ), Per Factor( 1 ) )
),
Local Data Filter(
Add Filter( columns( :Process ), Where( :Process == "Auto_Align", "Final_Electrical_Test" ), Display( :Process, N Items( 10 ) ) )
)
);
plot = New Window( "Plot", tb = Tab Box() );
tb << append( "Yield Trend By Process", vlb = V List Box( hlb = H List Box() ) );
hlb << append( (Report( yld2 ) << parent)["Local Data Filter"] );
hlb << append( Report( Yld2 ) );
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Missing Local Filter when Append Graph to the new Window
When I saw this idea, I thought: wow, great, looks like a solution for the idea with the split Graph + additional legend (/ data filter)
Graph Builder - open legend in new window (or in it's own ScrollBox)
But it seems that by taking the parts of the report the objects loose their interactivity
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Missing Local Filter when Append Graph to the new Window
If you build your report in a bit different way it should work. This is one option
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
vlb = V List Box(gb = dt << Graph Builder(
Size(525, 454),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(7)), Smoother(X, Y, Legend(8))),
Local Data Filter(Add Filter(columns(:age), Display(:age, N Items(6))))
));
plot = New Window("Plot", tb = Tab Box());
tb << append("Yield Trend By Process", plot_collector = V List Box());
plot_collector << append(vlb);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Missing Local Filter when Append Graph to the new Window
Nice idea to encapsulate the fragile GraphBuilder with a display box.
I just found in the Scripting Index that Platform is explicitly invented for this application:
I don't know if Platform has a benefit compared to a List Box - or another Display Box ...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Missing Local Filter when Append Graph to the new Window
You could also generate the Data Filter and the GraphBuilder separately and append both to the window.
Important: don't forget the Data Filter Context Box which will create the link between the Data Filter and the plot.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = H List Box(
dt << Graph Builder(
Size( 200, 200 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :age ) ),
Elements( Points( X, Y, Legend( 4 ) ) )
)
);
ldf = H list Box(dt << Data Filter( Local, Add Filter( columns( :sex ) ) ));
plot = New Window( "Plot", Data Filter Context Box( tb = Tab Box() ) );
tb << append(
"age by sex",
Data Filter Context Box(
hlb = H List Box()
)
);
hlb << append( ldf );
hlb << append( gb );
And the easiest way:
Create the window with the plot and the Data Filter - don't append them