- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
SQL クエリの結果を変数に割り当てるにはどうすればよいですか?
こんにちは!私は JMP/JSL スクリプトの初心者で、理解するのに苦労しています。私がやろうとしていることは非常に単純なはずだと感じていますが、期待通りに動作していないようで、Google も役に立ちません。
私がやろうとしていること: 渡したいくつかのパラメータに基づいて、SQL データベースから制御限界値を返すだけの単純なストアド プロシージャがあります。次に、その値を列の Levey Jennings 制御限界に割り当てようとしています。以下のコードは、私が作成したものです。
このコードは、希望する値を含むテーブルを出力します。
// Get limit value
LimitType = "Control";
LimitLevel = "Lower";
utagID = "6720";
vLCL = open database(
"Driver={SQL Server};Server=FC-SQL-P\PROD;Database=ctc_config;Trusted_Connection=yes",
"cus_sp_taglimits
@LimitType = " || LimitType || ",
@LimitLevel = " || LimitLevel || ",
@utagid = '" || utagID || "'"
);
次に、「vLCL」の値を使用して、それを別のテーブルの列プロパティに適用しようとしています。
// Change column property
Data Table( "testTable" ):testColumn << Set Property(
"Control Limits",
{Levey Jennings( LCL( vLCL ) )}
);
上記のスクリプトは、「vLCL」を数字に置き換えると正常に動作します。
私が行き詰まっていると思うのは、SQL の結果を実際の変数として使用するにはどうすればよいかということです。値を新しいテーブルに取り込むのではなく、変数に直接クエリする方法はありますか?
これに関して何かご助力いただければ幸いです。よろしくお願いします。
-ジェーン
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
受理された解決策
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: SQL クエリの結果を変数に割り当てるにはどうすればいいですか?
vLCL が保持する結果のテーブルによって異なります。データ テーブルの添え字付けだけで十分な場合もありますが、場合によっては << get rows where と組み合わせる必要がある場合もあります。
以下は、LSL列とUSL列の最初の行から値を取得するデータテーブル添え字の非常に基本的な例です。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
Compress File When Saved(1),
New Column("LSL", Numeric, "Continuous", Format("Best", 12), Set Values([1])),
New Column("USL", Numeric, "Continuous", Format("Best", 12), Set Values([2]))
);
my_lsl = dt[1, "LSL"];
my_usl = dt[1, "USL"];
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: SQL クエリの結果を変数に割り当てるにはどうすればいいですか?
ああ、ありがとう。まさにこれが私が見逃していたものなのです!
コードを次のように調整したところ、完璧に動作しました。
// Get limit value -- returns a new table with a single value
LimitType = "Control";
LimitLevel = "Lower";
utagID = "6720";
tblLCL = open database(
"Driver={SQL Server};Server=FC-SQL-P\PROD;Database=ctc_config;Trusted_Connection=yes",
"cus_sp_taglimits
@LimitType = " || LimitType || ",
@LimitLevel = " || LimitLevel || ",
@utagid = '" || utagID || "'"
);
//assign table value to variable
vLCL = tblLCL[1,1];
// Change column property
Eval(EvalExpr(
Data Table( "testTable" ):testColumn << Set Property(
"Control Limits",
{Levey Jennings( LCL( Expr(vLCL) ) )}
);
));
ありがとう、ありがとう、ありがとう!
-ジェーン
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: SQL クエリの結果を変数に割り当てるにはどうすればいいですか?
vLCLに探しているものがある場合は、それを評価する必要があります。列プロパティを使用してこれを行う方法の1つのオプションを次に示します。
Eval(EvalExpr(
Data Table("testTable"):testColumn << Set Property(
"Control Limits",
{Levey Jennings(LCL(Expr(vLCL)))}
);
));
vLCLに何が保存されているかわからない場合は、たとえば以下を追加できます。
show(vLCL);
クエリの後に、探しているものがあるかどうかを確認します
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: SQL クエリの結果を変数に割り当てるにはどうすればいいですか?
ご返信ありがとうございます。共有いただいた内容に合わせて編集してみましたが、「表示」を実行すると次のようになります。
vLCL = DataTable("SQL 結果 799");
つまり、問題は、クエリの結果を数値として vLCL に実際に割り当てていないことだと思います。これを修正する方法をご存知ですか?
再度、感謝します!!
ジェーン
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: SQL クエリの結果を変数に割り当てるにはどうすればいいですか?
vLCL が保持する結果のテーブルによって異なります。データ テーブルの添え字付けだけで十分な場合もありますが、場合によっては << get rows where と組み合わせる必要がある場合もあります。
以下は、LSL列とUSL列の最初の行から値を取得するデータテーブル添え字の非常に基本的な例です。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
Compress File When Saved(1),
New Column("LSL", Numeric, "Continuous", Format("Best", 12), Set Values([1])),
New Column("USL", Numeric, "Continuous", Format("Best", 12), Set Values([2]))
);
my_lsl = dt[1, "LSL"];
my_usl = dt[1, "USL"];
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re: SQL クエリの結果を変数に割り当てるにはどうすればいいですか?
ああ、ありがとう。まさにこれが私が見逃していたものなのです!
コードを次のように調整したところ、完璧に動作しました。
// Get limit value -- returns a new table with a single value
LimitType = "Control";
LimitLevel = "Lower";
utagID = "6720";
tblLCL = open database(
"Driver={SQL Server};Server=FC-SQL-P\PROD;Database=ctc_config;Trusted_Connection=yes",
"cus_sp_taglimits
@LimitType = " || LimitType || ",
@LimitLevel = " || LimitLevel || ",
@utagid = '" || utagID || "'"
);
//assign table value to variable
vLCL = tblLCL[1,1];
// Change column property
Eval(EvalExpr(
Data Table( "testTable" ):testColumn << Set Property(
"Control Limits",
{Levey Jennings( LCL( Expr(vLCL) ) )}
);
));
ありがとう、ありがとう、ありがとう!
-ジェーン
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。