SAS/IntrNetで、ユーザの入力情報をSASデータセットに保存する方法

[OS]ALL
[リリース] 8.2
[キーワード] IntrNet, STATISTICS

[質問]

SAS/IntrNet 8.2を使用して、アプリケーションを作成しています。フォームを利用してユーザの入力情報を収集し、アプリケーションサーバに渡しているのですが、その情報をSASデータセットに保存することはできますか。

[回答]

SAS/IntrNet 8.2の新機能であるSTATISTICSオプションを利用すれば、ユーザの入力情報をSASデータセットに保存することができます。具体的な手順は下記のとおりです。

1. STATISTICSデータセットの作成

まず、下記のプログラムを実行します。

/* STATISTICSデータセットの保存先を指定 */
LIBNAME statlib "path";

/* STATISTICSデータセットを作成         */
PROC APPSRV PORT=0;
   STATISTICS CREATE=statlib.stat;
RUN;

/* STATISTICSデータセットの修正         */
DATA statlib.template statlib.stat;
  SET statlib.stat;
  ATTRIB dest LENGTH=$8 LABEL='Destination';
  STOP;
RUN;
※ アプリケーションにて使用している"DEST"の値を保存することを前提にしています。

2. STATISTICSステートメントを追加

アプリケーションサーバー起動時に使用する「appsrv.sas」(設定によって名前は異なる)内のAPPSRVプロシジャに「STATISTICSステートメント」を追加します。

PROC APPSRV PORT=0 UNSAFE='&";%'''
   (中略)
  ALLOCATE   library statlib "path";
  DATALIBS   statlib;
  STATISTICS DATA=statlib.stat ADDPORT TEMPLATE=statlib.template;
   (中略)
※ ソケットサービスが1つの場合は、ADDPORTオプションは不要ですが、ソケットサービスが複数起動あるいはプールサービスを使用して複数のセッションを起動する場合は、ADDPORTを使用してください。