データフィルタースクリプト<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />列の値を使用してデータをフィルタリングしています。 データ フィルターにスクリプトを添付して、フィルターで新しい列の値が選択されるたびにスクリプトが実行されるようにすることはできますか?
ありがとう。
Re: データフィルタースクリプトJMP 11 では、<< close コマンドは表示されているフィルターに影響を与えませんでした。JMP 12 の変更により、これが機能するようになりました。
JMP 11 の回避策として、以下を使用できます。
gb << ローカル データ フィルターを削除します。
Re: データフィルタースクリプトどちらのソリューションも機能しますが、結果を何かに割り当てる必要があります。
rsh = DataFilter1 << 行状態ハンドラーを作成(DataFilter1_handler);
行状態ハンドラーは、返されるオブジェクトです。どこにも保管してなかったので消えてしまいました!
Re: データフィルタースクリプト例のローカル データ フィルターについてさらに質問が 1 つあります。
コードでフィルターを削除するにはどうすればよいですか (手動で行う場合は「ローカル データ フィルターを削除」)。
これらのコマンドを試しました:
// 動作します
ldf << クリア;
// 動作しません
ldf << 閉じる;
ldf << 削除;
ldf << ウィンドウを閉じる;
ldf << 削除;
Re: データフィルタースクリプトありがとう、うまくいきました。 やり方さえわかれば本当に簡単ですよ
私の次の質問もおそらくあなたにとっては非常に簡単です:
アプリケーションにローカル データ フィルターがあります。 行状態ハンドラーを設定したいと思います。
それが私のコードです:
DataFilter1 << Add Filter(
Columns(Eval(filter_parameter)),
Display(Size( 100, 150 ),List Display)
);
// set OutlineCloseOrientation and title
ldfr = DataFilter1 << report;
ldfr[Outline Box( 1 )] << OutlineCloseOrientation( "Horizontal" );
ldfr[Outline Box( 1 )] << Set Title("Filter");
// set row state handler - both versions do not work
DataFilter1 << Make Row State Handler(DataFilter1_handler);
ldfr[Outline Box( 1 )] << Make Row State Handler(DataFilter1_handler);
DataFilter1_handler = function({x},
show("row state handler function");
);
Re: データフィルタースクリプトローカル データ フィルターにメッセージを送信するには、そのフィルターへの参照を取得する必要があります。 次のようなことを試してください:
NamesDefaultToHere(1);
// Some data
dt = New Table( "Fruits",
Add Rows( 3 ),
New Column( "Fruit",
Character,
"Nominal",
Set Values( {"Pear", "Apple", "Orange"} )
)
);
// A report with a local data filter
gb = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Fruit ) ),
Elements( Bar( X, Legend( 3 ) ) )
);
ldf = gb << Local Data Filter( Mode, Add Filter( columns( :Fruit ) ) );
// Row state handler function
doSomethingWithSelection = Function({x}, {Default Local},
currentScript = ldf << getScript;
ClearLog();
Print(currentScript);
);
// Get a reference to the report
gbReport = gb << Report;
// Assign the row state handler to the local data filter display box
rsh = gbReport[OutlineBox(1)] << MakeRowStateHandler(doSomethingWithSelection);
Re: データフィルタースクリプト私も同様の問題を抱えています。 グラフビルダーのローカルデータフィルターのスクリプトを、フィルターが変更されるたびに文字列変数に保存したいと考えています。 上記のスクリプトに関する問題は、doSomethingWithSelection 関数でローカル データ フィルターにアクセスする方法です。
次の行は機能しません。データ フィルター スクリプトが提供されません。
文字列 = greport [アウトラインボックス( 1 )] <<スクリプトを取得
Re: データフィルタースクリプト素晴らしい - ありがとう。
Re: データフィルタースクリプトDan の返信を基にして、次のことを試してください。
NamesDefaultToHere(1);
// Some data
dt = New Table( "Fruits",
Add Rows( 3 ),
New Column( "Fruit",
Character,
"Nominal",
Set Values( {"Pear", "Apple", "Orange"} )
)
);
// A report with a local data filter
gb = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Fruit ) ),
Elements( Bar( X, Legend( 3 ) ) ),
Local Data Filter( Mode, Add Filter( columns( :Fruit ) ) )
);
// Row state handler function
doSomethingWithSelection = Function({x}, {Default Local}, Beep(); Wait(0.1); Beep() );
// Get a reference to the report
gbReport = gb << Report;
// See what messages the data filter display box understands (prints to the log)
ShowProperties(gbReport[OutlineBox(1)]);
// Assign the row state handler to the local data filter display box
rsh = gbReport[OutlineBox(1)] << MakeRowStateHandler(doSomethingWithSelection);
Re: データフィルタースクリプトデータ フィルターは、データ テーブルの行状態 (グローバル フィルター) または行状態のプライベート セット (ローカル フィルター) を操作します。dt<