起動モジュールでデータフィルターを使用してアプリケーションを作成するにはどうすればよいですか?ユーザー入力に基づいてレポートを作成するアプリケーションを作成しようとしています。 私はスクリプトを書いた経験はありますが、行き詰まっており、これまでアプリケーションを使用したことがありません。
JMP に付属するサンプル アプリケーションの 1 つを変更しようとしましたが、これらのどれにも起動モジュールにデータ フィルターが含まれておらず、私がやろうとしたことは機能しません。
開始点として使用できる、起動モジュールにデータ フィルターを備えた単純なアプリケーションの例を持っている人はいますか? そうすれば、必要なことを実行できるようにそれを変更できるはずです...
コンテンツの構成Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?テキストが切り詰められていることに今気づきました。 たとえば、テキスト文字列の 1 つはスペースを含む 341 文字です。 テキスト文字列全体がテーブル内にあるため、バイト制限を超えないと思います。
分布表または分割表でテキスト文字列全体を表示しようとすると、テキストが折り返されていても完全には表示されません。 切り取られているように見えます。 任意のヒント?
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?ありがとう@ポールディーン、 それは有り難いです。 ご存知のように、私はまだレベル V です。
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?@レッセル作業を少し楽にするために、これは 1 つのステップで同じことを行います。
Names default to here(1);
// loads the table
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
// launch data filter on selected column
df = dt << Data Filter( Add Filter( Columns( "Make" )));
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?ダンさん、ありがとう。
実際、レポートを簡略化しました。 もう一度最初からやり直しましたが、うまくいっているようです。 元のフィルタリングで問題が発生した理由がわかりません。
残りの課題は 1 つです。 私のレポートの 1 つはいくつかのテキスト フィールドを表示する必要があり、幅を他のレポートと一致させ、テキストが複数行にまたがって表示されるようにテキストを折り返す方法を見つけるのに苦労しています。 私は Tabulate プラットフォームを使用していましたが、テキストを折り返すオプションがないことを読みました。 これを自動的に行うプラットフォームは分割表だけですが、これには Col% などの追加の列も表示されます。これらの列が非表示になると、テキストは再び長い幅で表示されます。 「set Wrap」などのいくつかのスクリプト関数を調べていましたが、それらの使用方法を理解するのは難しいと感じています。ここで使用できるヒントはありますか?
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?Report11/Report12 がフィルタリングされない理由を調べる必要があります。これはバグのようです。2 つの提案:
- 上記のレイアウトでは、(明示的な) データ フィルターが関連付けられていないレポートには DataFilterContext を追加しないでください。
- アプリケーション レイアウトを簡素化する 1 つのオプションは、フィルターが 1 つのプラットフォームにのみリンクしている場合、フィルターをプラットフォームに直接追加することです。上記の例の Report13 にプラットフォームの一部としてデータ フィルターがある場合、DataFilterContext12/List11/DataFilter11 をレイアウトに追加する必要はありません。
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?上記が機能しなかった理由がわかったと思います。 下の画像を参照してください。 一部のレポートでは、レポートの横に別のデータ フィルター ボックスを追加しました (サンプル レポート 13 はデータ フィルター 11 を使用しています)。 結果は、全体的なデータフィルター 1 を使用してフィルター処理されて修正されます。
ただし、レポート 11 および 12 では、これらと一緒にデータ フィルターを追加しなかったため、Datafilter1 は適用されませんでした。 そこで、これらのレポートの結果を見てみると、記録が多すぎました。
奇妙に思えますが、今ではうまく機能すると思います。

Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?こんにちは、レッセルさん
返信いただきありがとうございます。 「起動モジュール」という用語は、アプリケーションの構築に特有のものかもしれないと思います。
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?こんにちは、ダンさん
返信いただきありがとうございます。 はい、どちらも本当にそう思います。 起動モジュールにデータフィルターが必要でした。 次に、レポートの起動時に選択したデータのみが表示されるようにフィルター情報を渡したいと考えました。 したがって、既製の簡単な例があれば、それは素晴らしいでしょう。
今日、私は起動モジュールを使用せずにレポートモジュールのみを使用してこれを実行しようとしました。 したがって、上部にローカル データ フィルター (下の図のデータフィルター 14) があり、その下に同じ全体的なデータ フィルター コンテキスト内の複数のレポートがあり、各レポートに追加のローカル データ フィルターがあります。 ほぼ完了したと思っていましたが、今、一部のレポートがメイン データ フィルターに従って正しくフィルターされていないことに気づきました。 表示すべきではないデータが表示されていました。 誤ってデータフィルターを移動してしまったかと思います。これを修正して適切なコンテナーに収まるように努めており、再び最初からやり直すことを本当に避けようとしています。 これらを正しい位置に移動/再配置する最善の方法は何ですか?

Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?起動モジュールでデータフィルターをどのように使用しているかを明確にしていただけますか?問題は、データ フィルターがコンテンツをフィルターしていないこと、またはフィルター情報をレポート モジュールに渡す必要があるが、アプリケーション ビルダー内でそれを行う方法が明確ではないことですか?
Re: 起動モジュールでデータ フィルターを使用してアプリケーションを作成するにはどうすればよいですか?「起動モジュール」が何を意味するのかわかりませんが、指定されたテーブルの特定の列に対してデータフィルターを起動する方法は次のとおりです。
Names default to here(1);
// loads the table
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
// select column
dt << Go To ( :Make );
// identify selection
col = dt << Get Selected Columns( String );
// obtain column reference
col = Column( col[1] );
// launch data filter on selected column
df = dt << Data Filter( Add Filter( Columns( col )));