【SAS】EMのデータをEGで読み込む
EGとEMを同時に使っている環境はわりとあると思う。たぶん。
ただ、EGとEMでデータセットをやりとりしようとすると、なぜかうまくいかないことがある。
そこで、割と無理矢理編み出した感があるデータセットのやりとり手法を忘れないうちに載せておこうと思う。
EG→EMにデータセットを渡す場合
EGとEMが同じSASサーバ上にインストールされている場合は、同じライブラリを見える様にしてあげればEGもEMも中に入っているデータセットを参照できるようになる。
EMでライブラリを指定する場合は、プロジェクトのプロパティにある「プロジェクトの開始コード」にLIBNAMEステートメントを書いてあげればよい。
一番最初に書いたときは、書いたコードを選択して「即時実行」ボタンを押す必要があるが、それ以降はEMプロジェクトを開くときに自動実行されているため、ライブラリは自動で見える様になっている。
あとは、EM側でデータソース作成するときに、先ほど見える様にしたライブラリのデータセットを選んであげれば良い。
EM→EGにデータセットを渡す場合(通常編)
EM上でモデルによるスコアリングをしたデータをEGに渡したいときは、「ユーティリティ」タブにある「データの保存」を使用すれば良い。
データの保存先を先ほど指定したライブラリにすれば、EGからも見える様になる。
EM上ではスコアされたデータを確認するには、モデルノードなどを選択した上で、左のプロパティにある「エクスポート」を押すと、EMが裏で生成しているデータセットの中身を確認することができる。
EM→EGにデータセットを渡す場合(裏技編)
EMはプロジェクトごとにワーク領域を作成して、そこにスコアしたデータなどを全て書き出している。
その領域をEGから強引に読み込みにいくということができる。
以下にその手順を書く。
EM上で書き出したいデータセット名とライブラリ名を把握する
たとえば、「回帰ノード」でスコアされたデータを取り出したいときは、「エクスポートデータ」のTRAINデータが該当する。
この場合、EM上では「EMWS.Reg_TRAIN」と表示されているはずである。
この場合、「EMWS」がライブラリ名で、「Reg_TRAIN」がデータセット名である。