SQLクエリの結果をデータテーブルに保存するにはどうすればよいですか?みなさん、こんにちは。
次の問題があります。 SQLクエリを実行してデータベースからデータを取得したいのですが、それはうまく機能しています。 その後、クエリからのデータをデータテーブルに保存し、それをさらなる処理に使用します。 他の投稿のアイデアに基づいて、新しい変数に簡単な代入を行いましたdt_テストデータ。 データテーブルの引数として、から取得した名前を提供しています。クエリ名。 しかし、新しい変数にデータを保存しようとするとエラーが発生します。 クエリの実行は正常に機能し、名前付きの新しいテーブルが作成されます。実験データが自動的に開きますが、そのテーブルを参照したいと思います。 何かを見落としていてそれに気づくことができません。 この問題を解決する方法を教えていただければ幸いです。 JMP15を使用しています。 もう 1 つの質問ですが、クエリの実行後にテーブルの表示を無効にするにはどうすればよいですか? よろしくお願いします。
Data = New SQL Query(
Connection(
"ODBC:Description=Datenbank;DRIVER=SQL Server;SERVER=Server;UID=%_UID_%;PWD=%_PWD_%;APP=JMP;DATABASE=EngineeringSupport;"
),
QueryName( "Experimental_Data" ),
Select(
Column( "Param1", "t1"),
Column( "Param2", "t1"),
Column( "Param3", "t1"),
),
From( Table( "TestData", Schema( "dbo" ), Alias( "t1" ))),
) << Run;
dt_TestData = Data Table("Experimental_Data");
Open(dt_TestData);
//further actions with dt_TestData: slicing, joining with other tables, etc.
Re: SQL クエリの結果をデータテーブルに保存するにはどうすればよいですか?それは変だ。 クエリを実行するときに、クエリからテーブルにメッセージを直接送信できません。 まずそのテーブルをデータテーブルにする必要があります。 以下の例を参照してください。 私は何かを誤解していますか?
Table = New SQL Query(
Version( 130 ),
Connection( "ODBC:DSN=yournamehere;" ), // OBS! needs to be present and carry correct name!
QueryName( "MyQuery" ),
Select(
Distinct,
Column( "A", "t1" ),
),
From(
Table(
"some table",
Schema( "some view" ),
Alias( "t1" )
),
Table(
"another table",
Schema( "another view" ),
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "BatchId", "t1" ), Column( "BatchId", "t2" ) )
)
)
)
) << Run;
// does not work
Close( Table, no save );
// does work
NewTable = Data Table( Table );
Close( NewTable, no save );
Re: SQL クエリの結果をデータテーブルに保存するにはどうすればよいですか?マークベイリーさん、返信ありがとうございます。 スクリプトで参照を取得する方法がわかりませんでしたが、さらに検索した結果、この解決策を見つけました役職。 皆様、お時間をいただきありがとうございました。よろしくお願いいたします。
Re: SQL クエリの結果をデータテーブルに保存するにはどうすればよいですか?変数データクエリから返されたデータ テーブルへの参照を格納します。 関数呼び出しデータテーブル( "実験データ" )オープンデータテーブル実験データへの参照を返します。 に保存されている参照にメッセージを送信できます。データ。
Re: SQL クエリの結果をデータテーブルに保存するにはどうすればよいですか?グズモーガン0、
ご返信ありがとうございます! 問題は、クエリの結果のデータを参照する「dt」変数を作成できないことであると、より正確に説明する必要がありました。 クエリが実行されると、新しいテーブルが作成されて開かれますが、データを参照する変数はどこで見つけられる (または作成できる) のでしょうか? それとも何らかの方法で作成されていて、それを見ることも使用することもできないのでしょうか? JMP は次の行に関するエラーを表示します。
dt_TestData = データ テーブル("実験データ");
「データ テーブル、データ テーブル/*###*/("Experimental_Data") にアクセスまたは評価するときにデータ テーブルが見つかりません」
変数だと思いますdt_テストデータそのような方法では作成できないのでしょうか? 問題を解決するためにさらにご協力をいただければ幸いです。
Re: SQL クエリの結果をデータテーブルに保存するにはどうすればよいですか?@lukasz 、
最後の JSL ステートメントが問題です: Open( dt_testData )。クエリが正常に実行された場合、データ テーブルはすでに開かれています。 そのテーブルの別のコピーを作成する場合は、サブセットを使用します。 以下の例では、dt2 は別のテーブルです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = dt << Subset( All Rows, Selected Columns(0), Output Table Name("Big2") );