こんにちは、
JSL内でローカルデータフィルターを使用する際に2つの問題が発生しています。JMP 17を使用しています。
グラフビルダーオブジェクト内のローカルデータフィルタに渡されるリストから選択するようユーザーに促すスクリプトを設計しています。この部分は問題ありませんが、グラフを開いたらローカルデータフィルタをメインデータテーブルに保存したいのですが、手動で保存してもJMPのログに記録されないため、スクリプトの記述方法がわかりません。「Copy Local Data Filter()」関数と「Paste Local Data Filter()」関数のスクリプトインデックスを読みましたが、私の求めているものとは完全に一致しません。そこで最初の問題は、レポートウィンドウからメインデータテーブルにローカルデータフィルタスクリプトを保存するにはどうすればよいかということです。
2つ目の問題は、そのフィルターを再利用する方法です。別のレポートを作成するスクリプトがありますが、同じローカルデータフィルターを使用します。保存したローカルデータフィルタースクリプトでGet Table Property()関数を使ってみましたが、新しいレポートウィンドウに正しく適用されないようです。
2つのスクリプトを1つの大きなスクリプトに統合すれば問題は解決するということは理解していますが、ユーザーエクスペリエンスを簡素化するために分離しました。理想的ではありませんが、私のアイデアはうまくいくと思います。しかも、私は自力で解決しました。これらの問題の解決にご協力いただける方がいらっしゃいましたら、大変助かります。
敬具、
カサル
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
)
);
// How to save "Local Data Filter" to data table?
// Manually add filter
dt << New Script( "Local Data Filter",
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "Female" ) ) )
);
// Second graph
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
// Get local data filter
filter = dt << Get Table Property( "Local Data Filter" );<BR /><BR />// How to apply filter to obj2?
一方通行
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) )
);
ldf = obj1 << Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
);
ldf << Save Script to Data Table("Local Data Filter");
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
ldf_script = dt << Get Script("Local Data Filter");
Eval(EvalExpr(
Send(obj2, Expr(Name Expr(ldf_script)));
));
こんにちは、Jarmoさん。うまくいきました!本当にありがとうございます 