BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
kiyanaga
Fluorite | Level 6

 

いつもお世話になっております。

 

プログラム実行中に、現在開いているデータセットを全て閉じるマクロを作ることができないか質問です。

 

〇質問背景

SAS EG上でデータセット作成のプログラムを実行しているのですが、「メンバーレベル制御の出力」のエラーのため処理が中断することがあります。

 

現在は「ツール」>「開かれているデータセットの確認」>「すべてのデータセットを閉じる」の一連の操作をエラーのたびに

実行しています。

ただ、エラーのたびに以上の操作をするのは多少手間がかかってしまいますので、自動で開いているデータセットを閉じるマクロを作成したいと考えています。

 

〇質問内容

①現在開いているデータセットを関数やステートメントで確認する方法はありますでしょうか。

②①で確認できたデータセットを全て閉じる方法、もしくは、特定のライブラリのデータセットを全て閉じる方法はありますでしょうか。

 

よろしくお願い致します。

 

1 ACCEPTED SOLUTION

Accepted Solutions
yu_sas
SAS Employee

エラーの要因がデータグリッドで開かれていること、というのが明確であれば

データグリッドで開かないようにすることは一案だと思います。

 

データセットがプロジェクト内で作成されたものである場合は、

[結果一般]の[生成時にデータまたは結果を自動的に開く]もチェックを入れたほうがいいと思います。

View solution in original post

4 REPLIES 4
yu_sas
SAS Employee

データグリッドなどでデータセットを開いているような状況だと考えています。

 

SASプログラムのOPEN関数などで開いているのであればCLOSE関数で可能なんですが、

SAS Enterprise GuideのGUI部分の制御は、SASプログラムからは基本的にできないと思います。

kiyanaga
Fluorite | Level 6

yu_sas様

 

ご回答ありがとうございます。

 

GUIで開かれている場合には、プログラムから制御できないとのこと了解いたしました。

ちなみに、自動で出力データを表示させないようにすれば、制御できますでしょうか。

 

例えばEGのツールオプションで「データ一般」>「プロジェクトへの追加時にデータを自動で開く」のチェックを外すといった方法です。

yu_sas
SAS Employee

エラーの要因がデータグリッドで開かれていること、というのが明確であれば

データグリッドで開かないようにすることは一案だと思います。

 

データセットがプロジェクト内で作成されたものである場合は、

[結果一般]の[生成時にデータまたは結果を自動的に開く]もチェックを入れたほうがいいと思います。

kiyanaga
Fluorite | Level 6

yu_sas様

 

お返事ありがとうございます。

 

プロジェクトで生成されたデータセットもありますので、両方とも試してみたいと思います。

 

アドバイスありがとうございました!