前のページ|次のページ

SASが提供する自動呼び出しマクロ

提供される自動呼び出しマクロの概要

SASは、自動呼び出しマクロのライブラリを各SASサイトに提供します。提供されるライブラリは、サイトでライセンスを取得したSASプロダクトによって異なります。自動呼び出しマクロは、プログラムで定義したり含めたりしなくても使用できます。
SASをインストールすると、自動呼び出しライブラリは、システム構成ファイル内のSASAUTOSシステムオプションの値に含められます。自動呼び出しマクロは、個々のメンバとして保存され、それらにはマクロ定義が含まれています。各メンバには、それに含まれているマクロ定義と同じ名前が付けられています。
SASが提供する自動呼び出しライブラリで利用できるマクロは、動作するユーティリティプログラムですが、それらをユーザー独自のルーチンのモデルとして使用することもできます。さらに、それらのマクロを、ユーザーが作成したマクロ内で呼び出すこともできます。
それらのマクロ定義を調べるには、各メンバの先頭にあるコメント化されたセクションを参照してください。自動呼び出しライブラリの場所を見つけるには、SASシステムオプションSASAUTOSの設定を参照してください。SASAUTOSの値を表示するには、次のいずれかを使用します。
  • OPTIONSウィンドウを開くためのSASウィンドウ環境のOPTIONSコマンド
  • OPTIONSプロシジャ
  • VERBOSEシステムオプション
  • OPLISTシステムオプション
これらのオプションの詳細については、SASシステムオプション: リファレンスの“SAS System Options”を参照してください。
提供される自動呼び出しマクロを、次の表に示します。
提供される自動呼び出しマクロ
マクロ
説明
CMPRESおよびQCMPRES
複数の空白を圧縮し、先頭と末尾の空白を削除します。QCMPRESは、結果をマスクして、マクロ機能によって特殊文字とニーモニック演算子が解釈されずに、テキストとして扱われるようにします。
COMPSTOR
マクロをコンパイルし、それらを永続的なSASライブラリ内のカタログに格納します。
DATATYP
値のデータタイプを返します。
LEFTおよびQLEFT
先頭の空白を削除することによって、引数を左に揃えます。QLEFTは、結果をマスクして、マクロ機能によって特殊文字とニーモニック演算子が解釈されずに、テキストとして扱われるようにします。
SYSRC
エラー条件に対応する値を返します。
TRIMおよびQTRIM
末尾の空白を削除します。QTRIMは、結果をマスクして、マクロ機能によって特殊文字とニーモニック演算子が解釈されずに、テキストとして扱われるようにします。
VERIFY
式に固有の最初の文字の位置を返します。

自動呼び出しマクロの必須システムオプション

自動呼び出しマクロを使用するには、次の2つのSASシステムオプションを設定する必要があります。
MAUTOSOURCE
自動呼び出し機能を有効にします。NOMAUTOSOURCEは、自動呼び出し機能を無効にします。
SASAUTOS=library-specification | (library-specification-1..., library-specification-n)
1つ以上の自動呼び出しライブラリを指定します。詳細については、使用しているオペレーティングシステムのSASドキュメントを参照してください。
SASが提供する自動呼び出しライブラリがサイトにインストールされており、SASが提供するSASソフトウェアの標準構成を使用している場合、自動呼び出しマクロの使用を開始するには、SASシステムオプションMAUTOSOURCEが有効になっていることを確認するだけですみます。
MAUTOLOCDISPLAYシステムオプションは必須ではありませんが、これを設定しておくと、自動呼び出しマクロを呼び出したときに、自動呼び出しマクロのソースの場所がSASログに表示されます。詳細については、MAUTOLOCDISPLAYシステムオプションを参照してください。

自動呼び出しマクロの使用

自動呼び出しマクロを使用するには、%macro-nameというステートメントを使用して、プログラム内でそれを呼び出します。マクロプロセッサは、その名前を持つコンパイル済みマクロ定義について、まず、WORKライブラリ内を検索します。マクロプロセッサは、コンパイル済みマクロを検出できなかった場合、MAUTOSOURCEが有効であれば、その名前を持つメンバについて、SASAUTOSオプションで指定されたライブラリ内を検索します。マクロプロセッサは、メンバを検出すると、次を実行します。
  1. そのメンバ内のすべてのソースステートメントを、すべてのマクロ定義を含めてコンパイルします。
  2. そのメンバにオープンコード(どのマクロ定義にも含まれないマクロステートメントまたはSASソースステートメント)があれば、それを実行します。
  3. 呼び出した名前の付いたマクロを実行します。
マクロは、コンパイルが完了するとWORK.SASMACRカタログに保存され、再コンパイルを必要とせずにSASセッション内で使用できるようになります。
独自の自動呼び出しマクロを作成し、それらを簡単に実行するために、ライブラリに保存することもできます。詳細については、マクロの保存および再利用を参照してください。

DBCS (ダブルバイト文字セット)用の自動呼び出しマクロ

東アジア言語には数千の文字があるため、各文字を表現するには、ダブル(2)バイトの情報が必要です。各東アジア言語には、通常、複数のDBCSエンコード体系があります。SASは、主要な東アジア言語に固有のDBCSエンコード情報を処理します。次の表に、DBCSをサポートする自動呼び出しマクロの定義を示します。
DBCS用の自動呼び出しマクロ
自動呼び出しマクロ
説明
%KLOWCASEおよび%QKLOWCAS
大文字を小文字に変更します。
%KTRIMおよび%QKTRIM
末尾の空白を削除します。
%KVERIFY
式に固有の最初の文字の位置を返します。
詳細については、SAS各国語サポート(NLS):リファレンスガイドの“Autocall Macros for NLS”を参照してください。
前のページ|次のページ|ページの先頭へ