スクリプト: SQL クエリ結果をプロジェクトに保存こんにちは、おそらく初心者の質問ですが、自分では解決策を見つけることができませんでした。JSL を介して SQL クエリによって生成されたテーブルをプロジェクトに保存したいと考えています。 コードは以下のとおりです。ラベル等は省略させていただきました。 残念ながら、バックグラウンドでクエリを実行すると、dt が削除されるようです。 タイミングの問題でしょうか? 助けていただきありがとうございます。
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
project = New Project();
project << Save As("");
自動化とスクリプト作成データアクセスRe: スクリプト: SQL クエリ結果をプロジェクトに保存するクエリをバックグラウンドで実行すると、JMP は結果を待たずに次のコマンドに進むため、待つように指示する必要があります。通常、クエリの前に dt を Empty() として定義し、次に進む前に dt がスクリプト可能になるまで待機するように JMP に指示します。
dt = Empty();
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
While( !Is Scriptable( dt ), Wait( 1 ) );
project = New Project();
project << Save As("");Re: スクリプト: SQL クエリ結果をプロジェクトに保存するクエリをバックグラウンドで実行し、クエリの終了後もいくつかのアクションを実行したい場合は、PostQueryScript を使用できます。
Names Default To Here(1);
obj = New SQL Query(Connection("ODBC:DSN=SampleDSN;"), Custom SQL("SELECT c1, c2, c3 FROM my_table;"));
obj << Post Query Script("show( queryResult << Get As Matrix );");
または、使用することもできると思います<<実行中完了ただし、その中にさらにスクリプトを追加する必要があります (グローバル スコープが必要になる場合もあります...)。