JMPからSASサーバーに接続し、SASデータセットを処理できます。なお、これらの一連の操作は、JSLでもプログラミングできますが、メニューでも用意されています。詳細については、『JMPの使用法』の「データの読み込み」章を参照してください。
まず、Meta Connect()コマンドでSAS Metadata Serverに接続します。
connected = Meta Connect( "MyMetadataServer", port );
メタデータサーバーのSASのバージョンを指定するには、SASVersion名前付き引数を使用します。
connected = Meta Connect( "MyMetadataServer", port, SASVersion("9.4") );
コンピュータの名前(myserver.mycompany.comなど)とポートだけを指定した場合、認証ドメイン、ユーザ名、およびパスワードの指定を促すプロンプトが表示されます。これは、JSLで指定することもできます。
connected = Meta Connect( "MyMetadataServer", port, "authdomain", "user name", "password" );
SAS Metadata Serverの使用が終わったら、Meta Disconnect( )で接続を解除します。引数は必要ではなく、このコマンドで現在のメタサーバー接続が閉じられます。
Meta Get Repositories();
Meta Set Repository( "Foundation" );
mylist = Meta Get Servers();
conn = SAS Connect( "SASMain" );
conn << Disconnect();
conn << Connect();
上記のプログラムは、メタデータのオブジェクトにメッセージを送って、SASに接続しています。JSLでは、関数によって、SAS接続をグローバルに確立することもできます。その場合、メタデータのオブジェクトにDisconnectやConnectメッセージを送っても、グローバルなSAS接続には影響しません。ただし、グローバルなSAS接続がない場合は、メタデータのオブジェクトから開かれたSAS接続が、グローバルなSAS接続に設定されます。
SASサーバーに接続する際に、メタデータで定義されたSASライブラリに自動的に接続するには、Connect Librariesを使用します。
conn = SAS Connect( "SASMain", Connect Libraries( 1 ) );
SASサーバーに接続し、サーバー上のライブラリを見るにはGet Lib Ref()コマンドを使用します。
conn << Get Lib Refs();
conn << Assign Lib Refs( "MyLib", "$DOCUMENTS\data" );
conn << Assign Lib Refs( "MyLib", "$DOCUMENTS" );
datasets << Get Data Sets( "MyLib" );
conn << Import Data( "MyLib", "PURCHASES" );
conn << Import Data( librefs[1], datasets[12] );
conn << Import Data( "MyLib.PURCHASES" );
conn << Get Var Names( "MyLib.PURCHASES" );
conn << Import Data( librefs[1], datasets[12], columns( bookvars[1], bookvars[2], bookvars[4] ) );
JMPデータテーブルを、SASデータセットに保存するには、SAS Export Data()コマンドを使用します。
conn << Export Data( dt, librefs[1], datasets[4], ReplaceExisting );
stp = Meta Get Stored Process( "Samples/Stored Processes/Sample: Hello World" );
stp << Run();
conn << Submit( "proc print data=sashelp.class; run;" );
conn << Submit( "SAS Code" <,No Output Window(True|False)> <,Get Log(True|False )> );
conn << Get Log();
Get Log()は、SASのログを文字列として戻します。この文字列は、JSLにおける通常の文字列と同じように、JSL変数に代入して使用することができます。