Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?あなたはおそらく使用することができます JMPクエリービルダーこのワークフローを自動的に作成します。製品番号の列をフィルタ列として使用して、実行時にプロンプトオプション。

次に、赤い三角形に移動して[Run Run Script]を選択し、そのスクリプトをスクリプトに貼り付けて、スクリプトの一部としてサブセットテーブルを作成します。

Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?これは「裸の骨」ですが、始めるのに役立ちます。
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Summarize( age group = By( :age ) );
// you could also use an associative array to get the unique levels.
New Window( "Selection", << Modal,
lb = List Box(
age group,
),
Button Box( "OK",
got em = lb << Get Selected;
)
);
For( g = 1, g <= N Items( got em), g++,
// do something with each selected group
Show( got em[g] );
);
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?上に構築 @markbailey のアプローチは、もう少し(古い)コードです。
NamesDefaultToHere(1);
// Make a table with a list of 'products'
dt = NewTable("Products", NewColumn("Product ID", Character, Nominal, Formula(Char(RandomInteger(1, 10)))));
dt << addRows(20);
dt << runFormulas;
// Put up a list of distinct products that occur in 'dt'
prods = AssociativeArray(Column(dt, "Product ID") << getValues) << getKeys;
nw = NewWindow("Pick some Products from the List",
lb = ListBox(prods),
ButtonBox("OK", OKscript)
);
// This script runs when the user hits 'OK'
OKscript =
Expr(
nw << closeWindow;
// Find out which products were selected
selecedProds = lb << getSelected;
// Find out all corresponding rows in 'dt'
selectedRows = [];
for(p=1, p<=NItems(selecedProds), p++,
selectedRows = VConcat(selectedRows, dt << getRowsWhere(:Product ID == selecedProds[p]))
);
// Make the subset table
dt2 = dt << Subset(Rows(selectedRows), LinkToOriginalDataTable(1));
);Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?既存のテーブルに対してこれを実行し、それに対応してこのテーブルに関連付けられたすべての列も取得したいが、フィルタリングされたProductsに固有の各行のみを取得する場合は、どうすればよいでしょうか。
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?これは、このコードの抜粋です。dt2(PrimaryRFR_OUT_2015)は、Product CFNで絞り込み、新しいテーブルを作成し、このテーブルを保存することに関心があるデータテーブルです。フィルタボックスは正しいProduct CFNリストで正確に表示されますが、OKを押すと "Invalid Row#"が表示されます。
dt2 << Save( "PrimaryRFR_OUT_2015.jmp" );
tab = dt2 << Tabulate(
Add Table(
Column Table( Grouping Columns( :Code LLT of OUT_2015 ) ),
Row Table( Grouping Columns( :Code LLT of PrimaryRFR_2015, :Code LLT Desc of PrimaryRFR_2015) )
)
);
dt_tab = tab << Make Into Data Table;
dt_tab << set name( "Tabulate" );
dt_tab << Save( "PrimaryRFR_OUT_Tabulate_2015.jmp" );
prods = AssociativeArray(Column(dt2, "Product CFN") << getValues) << getKeys;
nw = NewWindow("Pick Products from the List to be filtered",
lb = ListBox(prods),
ButtonBox("OK", OKscript)
);
OKscript =
Expr(
nw << closeWindow;
SelectedProds = lb << getSelected;
selectedRows = [];
for( p = 1, p <= NItems( SelectedProds ), p++,
selectedRows = VConcat( selectedRows, dt << getRowsWhere( :Product CFN == SelectedProds[p]))
);
dt5 = dt2 << Subset(Rows(selectedRows), LinkToOriginalDataTable(1));
);
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?で始まるあなたの行で
selectedRows = VConcat(selectedRows………。
"dt"への参照は "dt2"であるべきですRe:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?時々、あなたはあなた自身のコーディングでとても迷子になるでしょうあなたはどちらの道が上がっていてどちらの道が下がっているか忘れます。皆さん、ありがとうございました!:)Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか? 私は以前に同じ過ちを何度もしたのでエラーを見つけました:-)
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?もう1つ、「このファイルを新しい製品番号で保存するにはどうすればよいですか?」私のZACH_2015.jmpは保存されていません
//*** Create a window to prompt user to filter for Model numbers they would like to use
prods = AssociativeArray(Column( dt2, "Product CFN" ) << getValues) << getKeys;
nw = NewWindow( "Pick Products from the List to be filtered",
lb = ListBox( prods ),
ButtonBox( "OK", OKscript )
);
OKscript =
Expr(
nw << closeWindow;
SelectedProds = lb << getSelected;
selectedRows = [];
for( p = 1, p <= NItems( SelectedProds ), p++,
selectedRows = VConcat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p]))
);
dt5 = dt2 << Subset(Rows(selectedRows), LinkToOriginalDataTable(1));
);
dt5 << Save( "ZACH_2015.jmp");
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?ログは保存について何を表していますか?より正確なパス/データテーブル参照を使用することをお勧めします。データテーブルが保存されるデフォルトの場所は、保存されていると思われる場所ではない可能性があります。Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?ファイルのパス/場所を指定したときにこれが機能します。
フォローアップ:私がユーザーのために単純化して、それを私が最初に選択するように促しているアクティブな選ばれたディレクトリに保存させたいならば、どうすればよいですか?
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?- 私が最後に投稿した回答に対する最新情報を確認してください。
- あなたの保存のためにあなたのパスに環境変数を指定することができます。
dt << save( "$TEMP/myfile.jmp" );
スクリプトガイドにJMP環境変数のリストがあります。
- フォルダを作成することもできます。 Windows環境変数を使用してそれらのDocumentsフォルダへのパスを見つけると、新しいフォルダを作成し、そこにすべての出力を配置できます。 その後の実行では、フォルダが存在するかどうかを確認し、存在する場合は作成手順を省略します。
Re:ユーザーに列の中からどのような共通の商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するよう依頼することはできますか?3日 "JMP Data"という名前の新しいフォルダを設定してそこにすべてを保存する方法を説明するコード行はありますか。それ以降の実行では、ユーザーのディレクトリに既に存在することを確認してください。
敬具、
ザックユーザーが列の中からどのような一般的な商品番号をフィルターして選択し、そのフィルターを通したレポートからレポートを生成するかを尋ねる方法はありますか?たとえば、スクリプトの特定の時点で、この特定の行に表示されている製品番号を選択してフィルタリングし、この入力に基づいてJMPに新しいテーブルを作成させるようにユーザーに促します。
ありがとうございました、
ザック