バックグラウンドクエリーの結果のデータテーブルを取得するには、オプションのOnRunComplete引数を使用します。クエリーが完了したときに実行するスクリプトを記述し、さらに結果のデータテーブルへのデータテーブル参照を割り当てます。または、データテーブルを最初の引数として受け入れる関数に引数として渡すこともできます。クエリーが完了した後、その関数が呼び出されます。
query = Open( "c:¥My Data¥Movies.jmpquery", private);
dt = query << Run();
query = Include( "C:/Queries/movies.jmpquery");
query <<Run Background();
confirmation = Function( {dtResult},
Write( "\!Nクエリーの結果の行数: ", N Rows( dtResult ) )
);
query = New SQL Query(
Connection(
"ODBC:DSN=SQL Databases;APP=MYAPP;TrustedConnection=yes;WSID=D79255;DATABASE=SQB;"
),
QueryName( "movies_to_update" ),
Select( Column( "YearMade", "t1" ), Column( "Rating", "t1" ) ),
From( Table( "g6_Movies", Schema( "SQB" ), Alias( "t1" ) ) ),
);
query << Run( OnRunComplete( confirmation ) );
なし(または、OnRunCompleteが含まれている場合はデータテーブルオブジェクト)。
(オプション) クエリーが完了した後に実行するスクリプトを指定する。結果のデータテーブルを取得するには、OnRunCompleteを含めます。
(オプション) 結果のデータテーブルを開かない。必ずOnRunCompleteとともに使用します。バックグラウンドで実行するクエリーにprivateを指定すると、データテーブルは開かれたうえで非表示(invisible)になります。
SASクエリー以外のクエリーはすべてバックグラウンドで実行されます。これは、クエリービルダー環境設定の[可能な限りクエリーをバックグラウンドで実行](デフォルトで選択されている)に基づいています。SASクエリーの場合、Run Background()は無視されます。
query = Include( "C:/Queries/movies.jmpquery");
query <<Run Background();