いつもお世話になっております。
プログラム実行中に、現在開いているデータセットを全て閉じるマクロを作ることができないか質問です。
〇質問背景
SAS EG上でデータセット作成のプログラムを実行しているのですが、「メンバーレベル制御の出力」のエラーのため処理が中断することがあります。
現在は「ツール」>「開かれているデータセットの確認」>「すべてのデータセットを閉じる」の一連の操作をエラーのたびに
実行しています。
ただ、エラーのたびに以上の操作をするのは多少手間がかかってしまいますので、自動で開いているデータセットを閉じるマクロを作成したいと考えています。
〇質問内容
①現在開いているデータセットを関数やステートメントで確認する方法はありますでしょうか。
②①で確認できたデータセットを全て閉じる方法、もしくは、特定のライブラリのデータセットを全て閉じる方法はありますでしょうか。
よろしくお願い致します。
エラーの要因がデータグリッドで開かれていること、というのが明確であれば
データグリッドで開かないようにすることは一案だと思います。
データセットがプロジェクト内で作成されたものである場合は、
[結果一般]の[生成時にデータまたは結果を自動的に開く]もチェックを入れたほうがいいと思います。
データグリッドなどでデータセットを開いているような状況だと考えています。
SASプログラムのOPEN関数などで開いているのであればCLOSE関数で可能なんですが、
SAS Enterprise GuideのGUI部分の制御は、SASプログラムからは基本的にできないと思います。
yu_sas様
ご回答ありがとうございます。
GUIで開かれている場合には、プログラムから制御できないとのこと了解いたしました。
ちなみに、自動で出力データを表示させないようにすれば、制御できますでしょうか。
例えばEGのツールオプションで「データ一般」>「プロジェクトへの追加時にデータを自動で開く」のチェックを外すといった方法です。
エラーの要因がデータグリッドで開かれていること、というのが明確であれば
データグリッドで開かないようにすることは一案だと思います。
データセットがプロジェクト内で作成されたものである場合は、
[結果一般]の[生成時にデータまたは結果を自動的に開く]もチェックを入れたほうがいいと思います。
yu_sas様
お返事ありがとうございます。
プロジェクトで生成されたデータセットもありますので、両方とも試してみたいと思います。
アドバイスありがとうございました!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!