データ フィルター コンテキスト ボックスのヘルプ()データ フィルター コンテキスト ボックスをスクリプトに挿入する際に問題が発生します。 私のスクリプトは、SQL 経由でデータを取得し、いくつかのテーブル関数を実行し、タブ付きウィンドウ内にグラフを吐き出すために使用されます。 これにより、単一の出力ごとに新しいウィンドウが関連付けられ、テスト エンジニアが複数のボタンをクリックする必要があるため、私が行っていたものよりも視覚的に優れています。
私はこれらのボードとスクリプト ガイドを読みました。 私が抱えている問題は、グラフのプロットと分布が設定された後にこれを挿入する方法です。 スクリプトガイドより。
私は氏と同じ哲学を使おうとしました。テキネルソン助けてくれましたが、一時ボックスを作成してボタンをクリックした後にデータを入力することができません。 繰り返しになりますが、あらゆるご支援に感謝いたします。
d
ガイド、
// --------------------------- From Scripting Guide -------------------------
dt = Open( "$SAMPLE_DATA/Hollywood Movies.jmp" );
win = New Window( "Shared Local Filter",
Data Filter Context Box(
// enclose the h list box that contains distribution and graph builder
H List Box(
// add the local data filter
// NOTE: My tables aren't created yet so i am getting an error here.
dt << Data Filter( Local ),
dt << Distribution(
Weight( :Profitability ),
Nominal Distribution(
Column( :Lead Studio Name )
),
Nominal Distribution(
Column( :Genre )
),
Histograms Only
),
dt << Graph Builder(
Variables(
X( :Genre ),
Y( :Domestic Gross ),
Y( :Foreign Gross, Position( 1 ) )
),
Show Control Panel( 0 ),
Elements(
Bar( X, Y( 1 ), Y( 2 ),
Legend( 2 ),
Bar Style( "Side by side" ),
Summary Statistic( "Mean" )
),
Frequencies( 0 ),
)
)
)
)
);
// --------------------------- My Data Pull Script Simplified -------------------------
Names Default To Here( 1 );
Close All( Data Tables, No Save );
Close All( Reports );
Clear Log();
Close All( journals, no save );
Clear Symbols();
sqlstartA = Today();
sqlendA = Today();
sqlstart = Format( sqlstartA, "yyyy-mm-dd" );
sqlend = Format( sqlendA, "yyyy-mm-dd" );
/************************************************************************************************************************************************/
/* */
/* ---------------------------------------------------------------[START EXAMPLE] ----------------------------------------------------------- */
/* */
/************************************************************************************************************************************************/
hay = New Window( "Test Database Tools",
V List Box(
V List Box(
Text Box(
"Product Engineering Database Tools",
<<SET font="" size=""></SET>
Re: データ フィルター コンテキスト ボックスのヘルプ()完璧に機能しました、ありがとう。 「Is Scriptable」について読んで、他にどのように使用できるかを調べなければなりません
Re: データ フィルター コンテキスト ボックスのヘルプ()はい、最初に「テスト データの読み込み」がインターフェイス (フィルター) の一部を複製していることに気づきました。また、ご指摘のとおり、「終了したらここをクリックしてください」も UI を複製しています。ボックスの削除に問題があるとおっしゃいましたが、(a) コントロールを削除して一度だけ使用できるようにするか、(b) フィルタを削除して別のフィルタに置き換えるかどうかがわかりませんでした。私の以前の回答は、実際には何も削除せずに (a) 状態に応じてウィンドウの異なる部分を非表示にしたり表示したりするだけの方法を示すことでした。
コンポーネントを削除するために変更したスクリプトの別の修正を添付します。表示に追加されるボックスへの参照を保存します。ボックスが追加されるたびに、最初に以前に追加されたボックスに対して << Delete Box が呼び出されます。
Re: データ フィルター コンテキスト ボックスのヘルプ()謝罪いたします。 修正したスクリプトを実行して「終了したらここをクリック」ボタンをクリックすると、表示ボックスが追加され続けます。 あなたが返信したとき、あなたがそのことを指摘したと断言できましたが、今ではそれが別のトピックに関連していることに気づきました。
Re: データ フィルター コンテキスト ボックスのヘルプ()ループ内で何をしようとしているのかわかりません。コントロールを削除したい場合は、コントロールを削除するか、単に非表示にすることができます。それらを非表示にすることは理想的ではないかもしれません - それらはまだ表示ツリー内にあります - しかし、これは一般的なアプローチです。以下は、ユーザーに複数の入力ステップを案内し、各ステップでコントロールを非表示にする例です。
New Window( "Wizard Interface",
top = H List Box(
// Control panels
controls = Panel Box( "Inputs",
panel1 = V List Box(
Text Box("Panel 1"),
Button Box( "Next",
panel1 << Visibility( "Collapse" );
panel2 << Visibility( "Visible" );
)
),
panel2 = V List Box(
Text Box("Panel 2"),
Button Box( "Next",
panel2 << Visibility( "Collapse" );
panel3 << Visibility( "Visible" );
),
<<VISIBILITY></VISIBILITY>
これはあなたがやりたいことと似ていますか?
Re: データ フィルター コンテキスト ボックスのヘルプ()for ループを使用してそのウィンドウを追加できると思います。 コードを i < = に記述したとおりです。
ありがとう
For( i = 1, i <= /* not sure what i would put in here */ , i ++,<BR /> sqlstart = Format( sqlstartA, "yyyy-mm-dd" );<BR /> sqlend = Format( sqlendA, "yyyy-mm-dd" );<BR /> Show( sqlstart, sqlend );<BR /> lineup1 << Append(<BR /> V List Box(<BR /> Spacer Box( Size( 5, 5 ) ), <BR /> Text Box( "Select Your Wafer(s)", <BR /> << Set Font Size( 15 ), <BR /> << Justify Text( "Center" ) <BR /> ),<BR /> Spacer Box( Size( 5, 15 ) ),<BR /> loaddata = Button Box( "Load The Test Data",<BR /> dt = current data table();<BR />// dt = Open( "$SAMPLE_DATA/big class.jmp", invisible )<BR /><BR />// Insert End of Script<BR />
Re: データ フィルター コンテキスト ボックスのヘルプ()返信で指摘したように、「完了したらここをクリックしてください」の問題は、クリックされたときにウィンドウを追加します。 << Delete the Box() や他のいくつかのことを試みましたが、失敗しました。 ただし、日付やウェーハが選択されていない場合でも、いくつかの Throw() ステートメントを挿入することはできました。 これは困難であることが判明しています。 助言がありますか?Re: データ フィルター コンテキスト ボックスのヘルプ()あなたとジムの助けに感謝します。 自動再計算についてはまったく考えていませんでした。 そして、Data Filter Context Box() の追加に特に感謝します。 使おうと思ったのですが、正しい配置が分かりませんでした。
カレンダーに関しては、私も全く同感です。 開閉できるアウトラインボックスにします。
メインウィンドウは、適切なウィンドウにすべてのグラフ、分布、Fit Y by X、および Wafer Maps (半導体ツールキット) を取得したら、いくつかの追加と数週間が必要です。 あなたとジムが取り組んでいる問題は、この分析ツールに関しては簡単に実現します。 最大のハードルは外れ値をどう扱うかだと感じています。 これらのボードで GrubbsOutlierTest3.jsl を見つけたので、これを何らかの方法、形状、形式で使用する予定です。
ありがとうございました。
d
Re: データ フィルター コンテキスト ボックスのヘルプ()カレンダー ボックス オブジェクトのサイズを変更することはできませんが、同じ目的で代わりに数値編集ボックスを使用できます。 形式を希望の日付スタイルに設定すると、対話中にカレンダーが表示されますが、それ以外の場合は小さなボックスにすぎません。
Names Default to Here( 1 );
nw = New Window( "Date Entry",
Outline Box( "Calendar Box Substitute",
neb = Number Edit Box( 01Jan2019,
<< Set Format( Format( "m/d/y", 12 ) )
)
),
H List Box(
Button Box( "OK",
date = neb << Get;
),
Button Box( "Cancel" )
)
);
Re: データ フィルター コンテキスト ボックスのヘルプ()スクリプトの更新バージョンを添付しました。Jim が指摘しているように、Distribution には自動再計算が設定されていません。その理由は、データ フィルターがローカル フィルターではなくグローバル フィルターであるためです。スクリプトでは、すべてのレポートが更新されているように見えますが、データ テーブルの行の状態が変化し、両方のタブの結果が更新されていることに注目してください。
フィルターをローカルにするために 2 つの変更を加えました。
- Data Filter() コマンドに「ローカル」オプションを追加
- 各タブの HListBox() を Data Filter Context Box() に変更しました。これにより、各フィルターの効果がタブのローカルに維持されます。
ローカル データ フィルターは、関連付けられた各プラットフォームに自動再計算フラグを自動的に設定します。
カレンダーを小さくする方法がわかりません。最初の日付を選択した後にどのようなワークフローを行うのかわかりません。日付を選択するランチャー ウィンドウと、レポートを表示する結果ウィンドウの 2 つのウィンドウを検討することもできます。日付範囲をサブタイトルとして含めることができます。
両方を同じウィンドウ内に保持したい場合は、<Re: データ フィルター コンテキスト ボックスのヘルプ()それは完全に理にかなっています。 ご協力いただきありがとうございます。
Re: データ フィルター コンテキスト ボックスのヘルプ()データ フィルターで選択を変更してもディストリビューションが変更されない理由は、ディストリビューションの JSL で「Automatic Recalc(1)」オプションが設定されていないためです。
カレンダーボックスのサイズ変更についてですが、サイズを変更する方法がわかりません。 他のコミュニティ メンバーが方法を持っているかもしれませんが、私には見つかりません。
Re: データ フィルター コンテキスト ボックスのヘルプ()
ネルソンさん、
それをスクリプトに入れようとしましたが、グラフ/分布の一部のみを更新しているようです。表示されている 2 つのタブの後ろに他のいくつかのタブを追加して、まさに私がやろうとしていることを更新したスクリプトを添付しました。
私が取り込んでいるデータセットの良い例も添付しました。 この表には、アイデアを提供するために 3 枚のウェーハに相当するデータが含まれています。
さらに、カレンダー ボックスのサイズを変更して、占有スペースを減らして分析に必要なスペースを増やす方法があるかどうか知りたいです。
ありがとう
Re: データ フィルター コンテキスト ボックスのヘルプ()指定せずに申し訳ありません。
はい、タブ内のすべてのグラフに影響を与えるローカル データ フィルターです。 すぐにあなたのスクリプトを見てみましょう。
ありがとう
Re: データ フィルター コンテキスト ボックスのヘルプ()指定したチャート/グラフに対してローカル データ フィルターを追加したいですか?
単一のフィルターに基づいてすべてのグラフを変更するフィルターを追加したいですか?
ユーザーにヒストグラム内のバーの 1 つをクリックして、選択した行から他のチャートやグラフを変更してもらいたいと考えていますか?
「添付」は、Distribution Platform 出力の左側にデータ・フィルターを追加するスクリプトの変更であり、選択すると、データ・テーブルに添付されているすべてのグラフを変更します。