列スイッチャー、ローカルデータフィルター、および参照行が自動的に更新されますグラフビルダーを使用して棒グラフを作成しましたが、ローカルデータフィルター、列スイッチャー、参照線をグラフに適用したいと思います。 選択した列に応じて、ローカルデータフィルターと参照線を自動的に切り替えることはできますか? 現時点では、列を入れ替えると、完了したばかりの参照線が消えます。 CpkとPpkの2つの列を選択できます。 現在表示されているCpk = 1.333とPpk = 1.333に参照線を含めたいと思います。 同様に、ローカルデータフィルターを追加して、表示されている列に応じて、最小Cpk / Ppk値と最大値1.5の間の値のみを表示したいと思います。 スクリプトを作成することで単純なグラフビルダーでこれを行うことは可能ですか、それともダッシュボード/アプリケーションを調べる必要がありますか? これは私が現在持っているものです:
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk , Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk )
),
Column Switcher( :Cpk , {: Cpk , :Ppk }),
Elements( Bar( X, Y, Legend( 4 ) ) ),
Local Data Filter(
Add Filter( columns( :Cpk ), Where( :Cpk >= floor(Col Min(:Cpk )) & :Cpk <= 1.5 ) )
),
SendToReport(
Dispatch(
{},
"Cpk ",
ScaleBox,
{Add Ref Line( 1.333, "Solid", "Red", "", 3 )}
),
)
);グラフィックススクリプティングRe:列スイッチャー、ローカルデータフィルター、参照行が自動的に更新されますはい、あなたがやりたいことをすることは可能です。これが簡単な例です
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
ColSwitcher = gb << Column switcher( :weight, {:weight, :height} );
Report( gb )[framebox( 1 )] << add graphics script(
theCol = ColSwitcher << Get Current;
If(
theCol == "weight",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :weight ),
"solid",
red,
"Mean",
2
),
theCol == "height",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :height ),
"solid",
red,
"Mean",
2
)
);
);Re:列スイッチャー、ローカルデータフィルター、参照行が自動的に更新されますこんにちは、
それをスクリプトにコピーすると、正しく機能していないように見えます。 グラフには、「グラフィックスクリプトがログにエラーを報告しました」というエラーメッセージが表示されます。 また、ログに報告されたエラーには、「Name Unresolved:weight {21} in access or Evaluation of'weight '、weight / * ### * /」と記載されています。 JMP 13を使用していますが、これが問題になるかどうかわかりません。
次のように、y軸に何が表示されているかに関係なく、1.333のままの参照線を追加することができました。
obj = dt_sum << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk, Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk)
),
Column Switcher( :Cpk, {: Cpk, :Ppk}),
Elements( Bar( X, Y, Legend( 4 ) ) ),
);
Report(obj)[FrameBox(1)] <<
Add Graphics Script(
1, Description( "Pen Script"),
Pen Color("red");
Pen Size(3);
Y Function(1.333, Feature ID);
);ただし、列スイッチャーをローカルデータフィルターにリンクして、列が切り替えられたときに特定のy値未満の値のみが表示および更新されるようにする方法がまだわかりません。
Re:列スイッチャー、ローカルデータフィルター、参照行が自動的に更新されますJMP 13でスクリプトを実行する際の最初の問題は、
ColSwitcher << get Current
はリテラル文字列ではないため、次のように変更する必要があります。
char(ColSwitcher << get Current)
しかし、そうすると、JMPは無限ループに入ります
これは既知のエラーであり、列スイッチャーの変更によってグラフィックスの追加スクリプトが呼び出されたときに関連していると思います。
私はたくさんのことを試しましたが、解決策を思い付くことができませんでした。 15にアップグレードすることが、私が確信している唯一のオプションです。Re:列スイッチャー、ローカルデータフィルター、参照行が自動的に更新されます心配いりません!
私は会社のソフトウェアを使用しているので、アップグレードできないと思うので、データを表示する別の方法を考える必要があります。 ローカルデータフィルターを更新しようとするのではなく、選択した列に応じて軸の制限を変更しようとすると、同様の問題が発生すると思いますか? 乾杯