新しいウィンドウにグラフを追加するときにローカル フィルターが見つからないローカルフィルターを使用したグラフを新しいウィンドウに追加しようとしました
グラフは [新しいウィンドウ] タブに表示されますが、ローカル フィルターが表示されません。
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));データの探索と視覚化Re: 新しいウィンドウにグラフを追加するときにローカル フィルターが見つからないデータ フィルターとグラフビルダーを個別に生成し、両方をウィンドウに追加することもできます。
重要: データ フィルターとプロット間のリンクを作成するデータ フィルター コンテキスト ボックスを忘れないでください。
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 );
そして最も簡単な方法:
プロットとデータフィルターを含むウィンドウを作成します - 追加しないでください:)
Re: 新しいウィンドウにグラフを追加するときにローカル フィルターが見つからない壊れやすい GraphBuilder を表示ボックスでカプセル化するという素晴らしいアイデアです。
Scripting Index で、プラットフォームがこのアプリケーションのために明示的に発明されたものであることを発見しました。

プラットフォームにリスト ボックスや別の表示ボックスと比較して利点があるかどうかはわかりません...
Re: 新しいウィンドウにグラフを追加するときにローカル フィルターが見つからないこのアイデアを見たとき、すごい、分割グラフ + 追加の凡例 (/データ フィルター) を使用したアイデアの解決策のようだと思いました。
グラフ ビルダー - 新しいウィンドウ (または独自の ScrollBox) で凡例を開きます。
しかし、レポートの一部を取得すると、オブジェクトの対話性が失われるようです:(
Re: 新しいウィンドウにグラフを追加するときにローカル フィルターが見つからない少し異なる方法でレポートを作成すれば、うまくいくはずです。これは 1 つのオプションです
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);Re: 新しいウィンドウにグラフを追加するときにローカル フィルターが見つからないローカル データ フィルターはグラフ ビルダー レポートから独立しているため、個別に追加する必要があります。
ローカル データ フィルターへのパスは、グラフ ビルダー オブジェクトの親に移動し、ローカル データ フィルターのアウトライン ボックスを参照することによって参照されます。
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( <SPAN class="lia-emoticons-autosuggestions"><SPAN class="lia-emoticons-search-term">:プロセス</SPAN></SPAN>, 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 ) );