機能
|
説明
|
---|---|
%BQUOTE、%NRBQUOTE
|
マクロの実行時に、置換された値に含まれている特殊文字やニーモニック演算子をマスクします。
|
%EVAL
|
整数演算を使用して、算術演算式や論理式を評価します。
|
%INDEX
|
文字列の先頭文字の位置を返します。
|
%LENGTH
|
文字列の長さを返します。
|
%QUOTE、%NRQUOTE
|
マクロの実行時に、置換された値に含まれている特殊文字やニーモニック演算子をマスクします。一致しない引用符(“ ”)とかっこ( () )には、文字の前に%を挿入してマークを付ける必要があります。
|
%SCAN、%QSCAN
|
番号で指定されたワードを検索します。%QSCANは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
%STR、%NRSTR
|
マクロのコンパイル時に、定数テキストに含まれている特殊文字やニーモニック演算子をマスクします。一致しない引用符(“ ”)とかっこ( () )には、文字の前に%を挿入してマークを付ける必要があります。
|
%SUBSTR、%QSUBSTR
|
文字列の部分文字列を生成します。QSUBSTRは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
%SUPERQ
|
マクロの実行時に、すべての特殊文字とニーモニック演算子をマスクして、値の置換が行われないようにします。
|
%SYMEXIST
|
指定されたマクロ変数が存在するかどうかを示す値を返します。
|
%SYMGLOBL
|
指定されたマクロ変数のスコープがグローバルかどうかを示す値を返します。
|
%SYMLOCAL
|
指定されたマクロ変数のスコープがローカルかどうかを示す値を返します。
|
%SYSEVALF
|
浮動小数点演算を使用して、算術演算式や論理式を評価します。
|
%SYSFUNC、%QSYSFUNC
|
SAS関数またはユーザー作成の関数を実行します。QSYSFUNCは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
%SYSGET
|
指定されたホスト環境変数の値を返します。
|
%SYSMACEXEC
|
マクロが現在実行中かどうかを示します。
|
%SYSMACEXIST
|
WORK.SASMACRカタログにマクロ定義があるかどうかを示します。
|
%SYSMEXECDEPTH
|
呼び出し点からのネストの深さを返します。
|
%SYSMEXECNAME
|
ネストレベルで実行しているマクロの名前を返します。
|
%SYSPROD
|
SASソフトウェアプロダクトがサイトでライセンスされているかどうかをレポートします。
|
%UNQUOTE
|
値に含まれるすべての特殊文字とニーモニック演算子のマスクを解除します。
|
%UPCASE、%QUPCASE
|
文字列を大文字に変換します。%QUPCASEは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
機能
|
説明
|
---|---|
%INDEX
|
文字列の先頭文字の位置を返します。
|
%LENGTH
|
文字列の長さを返します。
|
%SCAN、%QSCAN
|
番号で指定されたワードを検索します。%QSCANは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
%SUBSTR、%QSUBSTR
|
文字列の部分文字列を生成します。QSUBSTRは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
%UPCASE、%QUPCASE
|
文字列を大文字に変換します。%QUPCASEは、結果に含まれる特殊文字とニーモニック演算子をマスクします。
|
data out.%substr(&sysday,1,3); /* macro function */ set in.weekly (keep=name code sales); length location $4; location=substr(code,1,4); /* SAS function */ run;
data out.MON; /* macro function */ set in.weekly (keep=name code sales); length location $4; location=substr(code,1,4); /* SAS function */ run;
cary
およびapex
という値を変数LOCATIONに割り当てます。
機能
|
説明
|
---|---|
%BQUOTE、%NRBQUOTE
|
マクロの実行時に、置換された値に含まれている特殊文字やニーモニック演算子をマスクします。BQUOTEと%NRBQUOTEは、一致しない引用符(“ ”)とかっこ( ()
)にマークを付ける必要がないため、実行時に値をマスクする最も強力な関数です。
|
%QUOTE、%NRQUOTE
|
マクロの実行時に、置換された値に含まれている特殊文字やニーモニック演算子をマスクします。一致しない引用符(“ ”)とかっこ( () )には、文字の前に%を挿入してマークを付ける必要があります。
|
%STR、%NRSTR
|
マクロのコンパイル時に、定数テキストに含まれている特殊文字やニーモニック演算子をマスクします。一致しない引用符(“ ”)とかっこ( () )には、文字の前に%を挿入してマークを付ける必要があります。
|
%SUPERQ
|
マクロの実行時に、すべての特殊文字とニーモニック演算子をマスクして、値の置換が行われないようにします。
|
%UNQUOTE
|
値に含まれるすべての特殊文字とニーモニック演算子のマスクを解除します。
|
%if %bquote(&state)=nc %then %put North Carolina Dept. of Revenue;
Smith&Jones
など)に置換された場合にエラーが発生しないようにしています。%SUPERQを使用しないと、マクロプロセッサは&Jones
を置換しようとします。
%let testvar=%superq(corpname); /* No ampersand in argument to %superq. */
値345)
をマクロ変数Bに格納するには、次のように記述します。
%let b=%str(345%));
TITLE "20%";
をマクロ変数Pに格納するには、次のように記述します。
%let p=%str(TITLE "20%%";);
/*
および-->
)を含む文字列を格納する場合、各文字に対して%STR関数を使用します。たとえば、次のステートメントを考えます。
%let instruct=Comments can start with %str(/)%str(*).; %put &instruct;
Comments can start with /*
関数
|
説明
|
---|---|
%KCMPRES
|
複数の空白を圧縮し、先頭と末尾の空白を削除します。
|
%KINDEX
|
文字列の先頭文字の位置を返します。
|
%KLEFTおよび%QKLEFT
|
先頭の空白を削除することによって、引数を左に揃えます。
|
%KLENGTH
|
文字列の長さを返します。
|
%KSCANおよび%QKSCAN
|
位置で指定されたワードを文字列から検索します。
|
%KSUBSTRおよび%QKSUBSTR
|
%KSUBSTRと%QKSUBSTRは、文字列の部分文字列を生成します。
|
%KUPCASEおよび%QKUPCASE
|
値を大文字に変換します。
|
機能
|
説明
|
---|---|
%SYMEXIST
|
指定されたマクロ変数が存在するかどうかを示す値を返します。
|
%SYMGLOBL
|
指定されたマクロ変数のスコープがグローバルかどうかを示す値を返します。
|
%SYMLOCAL
|
指定されたマクロ変数のスコープがローカルかどうかを示す値を返します。
|
%SYSFUNC、%QSYSFUNC
|
SAS言語関数またはユーザー作成の関数をマクロ機能内で実行します。
|
%SYSGET
|
指定されたホスト環境変数の値を返します。詳細については、使用している動作環境に対応するSASドキュメントを参照してください。
|
%SYSPROD
|
SASソフトウェアプロダクトがサイトでライセンスされているかどうかをレポートします。
|
• /* in a DATA step or SCL program */ dsid=open("Sasuser.Houses","i"); • /* in the macro facility */ %let dsid = %sysfunc(open(Sasuser.Houses,i));