JMPテーブル値の基準でデータを抽出する方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあ
特定のロットリストのデータを抽出しようとしています
今のところ、すべてのデータを抽出し、必要なデータをフィルタリングします
しかし
データ抽出スクリプトを更新して JMP テーブルから直接値を取得するにはどうすればよいですか?
データテーブルの例:
New Table( "ロットリスト",
行を追加( 5 ),
New Column( "ロット",
キャラクター、
公称、
Set Values( {"AB457", "AB589", "XY671", "XY001", "XY187"} )
)
);
表のロットの抽出条件の例
"SELECT * FROM \!"LOTTABLE\!"
WHERE \!"LOT\!" in ('AB457','AB589','XY671','XY001','XY187')
;
Re: JMPテーブルの値を基準にデータを抽出する方法CONCAT ITEMS を使用して、JMP リストから IN リストを作成できます。例えば:
dt =新しいテーブル( 「ロットリスト」 、
行を追加( 5 ) 、
新しい列( "多く" 、
キャラクター、
公称、
設定値( { 「AB457」 、 「AB589」 、 「XY671」 、 「XY001」 、 「XY187」 } )
)
) ;
ロットリスト=桁( dt 、 "多く" ) <<値を取得する;
in_list = "('" ||連結項目(ロットリスト、 「'、'」 ) || "')" ;
sql_string = "SELECT * FROM mytable m WHERE m.lot_number IN" || in_list ;
Re: JMPテーブルの値を基準にデータを抽出する方法速い答えをありがとう
なんとか配列を作成できたので、それを連結する方法を見つける必要があります
dt = New Table( "ロットリスト",
行を追加( 5 ),
New Column( "ロット",
キャラクター、
公称、
Set Values( {"AB457", "AB589", "XY671", "XY001", "XY187"} )
)
);
ロット = ロット << 値を取得します。
//例えば
表示 (ロット[2]);
/*:
ロット[2] = "AB589";
Re: JMPテーブルの値を基準にデータを抽出する方法私の理解が正しければ、テーブルに保持されている値を使用して、JMP から SQL クエリを送信する必要があります。 以下のコードは、ブルート フォース アプローチを使用してクエリ文字列を作成しており、いくつかのアイデアが得られるかもしれません。 この例では、値は、ユーザーが 1 つだけの名前と 1 つ以上の製品を選択する必要があるユーザー インターフェイスから取得されました。
担当者= repsObj << GetSelected ;
製品=製品オブジェクト<< GetSelected ;
もしも( Nアイテム(担当者) != 1 、ビープ() ;ダイアログ( 「警告: 名前を選択する必要があります」 ) ;投げる()) ;
もしも( Nアイテム(製品) < 1 、ビープ() ;ダイアログ( 「警告: 少なくとも 1 つの製品を選択する必要があります」 ) ;投げる()) ;
// 結果のクエリを作成します
SQLクエリ= "SELECT * FROM Final WHERE salesrep_name = '" ||担当者[ 1 ] ;
もしも( Nアイテム(製品) == 1 、
// 簡単にクエリを作成できます
SQLクエリ= SQLクエリ|| "' AND product_group = '" ||製品[ 1 ] || 「';」 、
// それ以外の場合は、もう少し作業が必要です
製品部品= "' AND (product_group = '" ||製品[ 1 ] ;
為に(私= 2 、私<= Nアイテム(製品) 、私++、製品部品=製品部品|| "' OR product_group = '" ||製品[私])) ;
製品部品=製品部品|| "');" ;
SQLクエリ= SQLクエリ||製品部品;
) ;
// 表示 (SQLQuery); // デバッグ