2

ホットキーとして使用したい本当に素晴らしいマクロに出くわしました:

%macro closevts / cmd; 
  %local i; 
  %do i=1 %to 20;
    next "viewtable:"; end; 
  %end; 
%mend;

dm "keydef F12 '%NRSTR(%closevts);"; /*Sets F12 to close all view tables at once*/

(ソース: https://stackoverflow.com/a/3254004/110797 )

問題は、SAS を起動するたびにマクロ宣言を再実行しなければならないことです! 上記のコードはキーバインドを永続的に設定しませんが、その部分を理解しました (キー (F9) に移動し、F12 を手動で %closevts に設定し、キー ウィンドウを閉じるときに永続的に保存します)。 マクロ定義も永続的に設定するにはどうすればよいですか?

sas プロファイルを使用して調べましたが、わかりませんでした。さらに、私のシステムはかなりロックダウンされているため、一部が機能しない場合に備えて、複数のソリューションが高く評価されています。

4

3 に答える 3

2

それができれば、ボブの解決策は確かに良いものです。

自動呼び出しマクロも別のオプションです。SASAUTOS ディレクトリにローカル ディレクトリを含めるように設定します。

Options Mautosource
  Sasautos=(’g:\busmeas\’,’k:\finance\’,’c:\product\’);

次に、そのマクロのみを含むファイル内にマクロを配置し、マクロ名で名前を付けます (したがって、%mymacro は mymacro.sas に保存されます)。SAS は、マクロ呼び出しを取得すると、そのディレクトリを自動的に検索し、必要に応じてコンパイルします。

autoexec でマクロを実行することもできます。これは、完全にロックダウンされている場合でも自動的に送信できるはずです (ショートカットの一部として入れてください)。より詳細な情報は、ここにあります: http://www.sascommunity.org/wiki/Batch_processing_under_Windows
これは主にバッチ処理に関するものですが、メモの多くは DM 作業にも役立ちます。

たとえば、そのページから、ショートカットが次を指している可能性があります:sas -autoexec MyPersonalAutoExec.sasそして、そのファイル内のすべての (通常の SAS) コードは、起動時に実行されます。

于 2013-05-07T15:00:45.020 に答える
0

コマンドを autoexec.sas ファイルに入れることができます。このファイルは、SAS セッションを開くたびに呼び出されます。

于 2015-11-13T18:15:37.307 に答える