SASシステムまたはグラフィックオプションの値を指定します。
カテゴリ: | 特殊関数 |
システムオプションの名前を指定する文字定数、変数または式です。
ヒント | 名前の後に等号記号を付けないでください。たとえば、PAGESIZE=はPAGESIZEと記述します。 |
EMAILPWやMETAPASSなど、パスワードであるSASオプションは、実際のパスワードではなく値xxxxxxxx を返します。
|
デフォルトオプション値を返します。
制限事項 | DEFAULTVALUEは、SASシステムオプションでのみ有効です。DEFAULTVALUEオプションが指定され、option-nameがグラフィックオプションの場合、SASから警告メッセージが発行されます。 |
オプションのスコープを示す文字列を返します。
制限事項 | HOWSCOPEは、SASシステムオプションでのみ有効です。HOWSCOPEオプションが指定され、option-nameがグラフィックオプションの場合、SASから警告メッセージが発行されます。 |
オプション値の設定を示す文字列を返します。
制限事項 | HOWSETは、SASシステムオプションでのみ有効です。HOWSETオプションが指定され、option-nameがグラフィックオプションの場合、SASから警告メッセージが発行されます。 |
コマンドラインまたは構成ファイルのいずれかでSASの起動に使用されたシステムオプション値を返します。
制限事項 | STARTUPVALUEは、SASシステムオプションでのみ有効です。STARTUPVALUEオプションが指定され、option-nameがグラフィックオプションの場合、SASから警告メッセージが発行されます。 |
グラフィック単位をセンチメートルで報告します。
制限事項 | CMは、グラフィックオプションとSASシステムオプションのBOTTOMMARGIN、TOPMARGIN、RIGHTMARGIN、LEFTMARGINでのみ有効です。 CMオプションが指定され、option-nameがグラフィックオプションまたは余白値を示すオプションのどちらでもない場合、SASによりログにメモが書き込まれます。 |
環境変数が含まれるオプションについて、オプション値と環境変数の値を返します。
制限事項 | 変数展開は、WindowsおよびUNIX動作環境でのみ有効です。 |
EXPANDは、文字のシステムオプション値でのみ有効です。 CENTERや NOCENTERなど、option-nameのオプションタイプがブール式か、オプションの値が数値の場合、EXPANDは無視されます。 | |
注 | ブール式オプションや数値のオプションにEXPANDが指定されると、SASからメモが発行されます。EXPANDオプションが指定され、オプションがグラフィックオプションの場合、SASから警告が発行されます。 |
ヒント | デフォルトでは、一部のオプション値は展開された変数値と一緒に表示されます。その他のオプション値では、PROC OPTIONSステートメントにEXPANDオプションが必要です。オプション値がデフォルトで変数を展開するのか、EXPANDオプションが必要なのかを確認するには、PROC
OPTIONSステートメントでDEFINEオプションを使用します。PROC OPTIONS DEFINEからの出力に次の情報が表示された場合、変数値を展開するにはEXPANDオプションを使用する必要があります。Expansion: Environment variables, within the option value, are not expanded |
環境変数が含まれるオプションについて、option-name=valueの出力形式で値を返します。
制限事項 | KEYEXPANDは、文字のシステムオプション値でのみ有効です。 KEYEXPANDオプションが指定され、option-nameがグラフィックオプションの場合、SASからエラーメッセージが発行されます。CENTERや NOCENTERなど、option-nameのオプションタイプがブール式か、オプションの値が数値の場合、KEYEXPANDは無視されます。 |
SAS OPTIONSまたはGOPTIONSグローバルステートメントで直接使用するのに適したoption-name=value出力形式でオプション値を返します。
制限事項 | KEYWORDは、HEXVALUE、EXPAND、KEYEXPAND、LOGNUMBERFORMATオプションとともに使用すると、有効ではありません。GETOPTION関数に競合するオプションが含まれていると、SASによりログにメモが書き込まれます。 |
KEYWORDは、文字または数値のシステムオプション値でのみ有効です。KEYWORDは、CENTERやNOCENTERなど、オプションタイプがブール式のシステムオプションでは無視されます。KEYWORDオプションが指定され、option-nameがグラフィックオプションの場合、SASからエラーメッセージが発行されます。 | |
注 | null値を含むシステムオプションの場合、GETOPTION関数は値' ' (単一引用符で囲まれた1個の空白)を返します。たとえば、EMAILID=' 'のように返されます。 |
オプション値を16進値で返します。
制限事項 | HEXVALUEは、文字または数値のシステムオプション値でのみ有効です。HEXVALUEが、CENTERやNOCENTERなど、オプションタイプがブール式のシステムオプションに指定されたか、option-nameがグラフィックオプションの場合、SASによりエラーメッセージが発行されます。 |
グラフィック単位をインチで報告します。
制限事項 | INは、グラフィックオプションとSASシステムオプションのBOTTOMMARGIN、TOPMARGIN、RIGHTMARGIN、LEFTMARGINでのみ有効です。 INオプションが指定され、option-nameがグラフィックオプションまたは余白値を示すオプションのどちらでもない場合、SASによりログにメモが書き込まれます。 |
ロケール固有の句読点を使用してSASシステムオプション値に出力形式を適用します。
制限事項 | OPTIONSステートメントを使用したオプション値の設定に戻り値を使用する場合、LOGNUMBERFORMATを使用しないでください。OPTIONSステートメントでは、カンマを含む数値を受け入れません。 |
/* Save the value of the YEARCUTOFF system option */ %let cutoff=%sysfunc(getoption(yearcutoff,keyword)); data ages; if getoption('yearcutoff') = '1926' then do; ...more SAS statements... end; else do; ...more SAS statements... /* Reset YEARCUTOFF */ options &cutoff; end; run;
%macro showopts; %put MAPS= %sysfunc( getoption(MAPS)); %put MAPSEXPANDED= %sysfunc( getoption(MAPS, EXPAND)); %put PAGESIZE= %sysfunc( getoption(PAGESIZE)); %put PAGESIZESETBY= %sysfunc( getoption(PAGESIZE, HOWSET)); %put PAGESIZESCOPE= %sysfunc( getoption(PAGESIZE, HOWSCOPE)); %put PS= %sysfunc( getoption(PS)); %put LS= %sysfunc( getoption(LS)); %put PS(keyword form)= %sysfunc( getoption(PS,keyword)); %put LS(keyword form)= %sysfunc( getoption(LS,keyword)); %put FORMCHAR= %sysfunc( getoption(FORMCHAR)); %put HSIZE= %sysfunc( getoption(HSIZE)); %put VSIZE= %sysfunc( getoption(VSIZE)); %put HSIZE(in/keyword form)= %sysfunc( getoption(HSIZE,in,keyword)); %put HSIZE(cm/keyword form)= %sysfunc( getoption(HSIZE,cm,keyword)); %put VSIZE(in/keyword form)= %sysfunc( getoption(VSIZE,in,keyword)); %put HSIZE(cm/keyword form)= %sysfunc( getoption(VSIZE,cm,keyword)); %mend; goptions VSIZE=8.5 in HSIZE=11 in; options PAGESIZE=67; %showopts
NOTE: PROCEDURE PRINTTO used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 6 %macro showopts; 7 %put MAPS= %sysfunc( 8 getoption(MAPS)); 9 %put MAPSEXPANDED= %sysfunc( 10 getoption(MAPS, EXPAND)); 11 %put PAGESIZE= %sysfunc( 12 getoption(PAGESIZE)); 13 %put PAGESIZESETBY= %sysfunc( 14 getoption(PAGESIZE, HOWSET)); 15 %put PAGESIZESCOPE= %sysfunc( 16 getoption(PAGESIZE, HOWSCOPE)); 17 %put PS= %sysfunc( 18 getoption(PS)); 19 %put LS= %sysfunc( 20 getoption(LS)); 21 %put PS(keyword form)= %sysfunc( 22 getoption(PS,keyword)); 23 %put LS(keyword form)= %sysfunc( 24 getoption(LS,keyword)); 25 %put FORMCHAR= %sysfunc( 26 getoption(FORMCHAR)); 27 %put HSIZE= %sysfunc( 28 getoption(HSIZE)); 29 %put VSIZE= %sysfunc( 30 getoption(VSIZE)); 31 %put HSIZE(in/keyword form)= %sysfunc( 32 getoption(HSIZE,in,keyword)); 33 %put HSIZE(cm/keyword form)= %sysfunc( 34 getoption(HSIZE,cm,keyword)); 35 %put VSIZE(in/keyword form)= %sysfunc( 36 getoption(VSIZE,in,keyword)); 37 %put HSIZE(cm/keyword form)= %sysfunc( 38 getoption(VSIZE,cm,keyword)); 39 %mend; 40 goptions VSIZE=8.5 in HSIZE=11 in; 41 options PAGESIZE=67; 42 %showopts MAPS= ("!sasroot\maps-path\en\maps") MAPSEXPANDED= ("C:\maps-path\en\maps") PAGESIZE= 67 PAGESIZESETBY= Options Statement PAGESIZESCOPE= Line Mode Process PS= 67 LS= 78 PS(keyword form)= PS=67 LS(keyword form)= LS=78 FORMCHAR= ‚ƒ„…†‡ˆ‰Š‹Œ+=|-/\<>* HSIZE= 11.0000 in VSIZE= 8.5000 in HSIZE(in/keyword form)= HSIZE=11.0000 in HSIZE(cm/keyword form)= HSIZE=27.9400 cm VSIZE(in/keyword form)= VSIZE=8.5000 in HSIZE(cm/keyword form)= VSIZE=21.5900 cm 43 proc printto; run;
/* Check the value of papersize before we change it. */ /* The initial value is A4 as this value was used when */ /* SAS started. */ %put %sysfunc(getoption(papersize,keyword)); /* Change the PAPERSIZE value and check the change. */ options papersize="600x800 Pixels"; %put %sysfunc(getoption(papersize,keyword)); /* Change PAPERSIZE back to the default value and check it. */ /* RESULT: LETTER */ %let defsize = %sysfunc(getoption(papersize,keyword,defaultvalue)) ; options &defsize; run; %put %sysfunc(getoption(papersize,keyword)); /* Change the value to the startup value and check it. */ /* RESULT: A4 */ %let defsize = %sysfunc(getoption(papersize,keyword,startupvalue)) ; options &defsize; run; %put %sysfunc(getoption(papersize,keyword));
22 /* Check the value of papersize before we change it. */ 23 /* The initial value is A4 as this value was used when */ 24 /* SAS started. */ 25 26 %put %sysfunc(getoption(papersize,keyword)); PAPERSIZE=A4 27 28 /* Change the PAPERSIZE value and check the change. */ 29 30 options papersize="600x800 Pixels"; 31 32 %put %sysfunc(getoption(papersize,keyword)); PAPERSIZE=600X800 PIXELS 33 34 /* Change PAPERSIZE back to the default value and check it. */ 35 /* RESULT: LETTER */ 36 37 %let defsize = %sysfunc(getoption(papersize,keyword,defaultvalue)) ; 38 options &defsize; run; 39 %put %sysfunc(getoption(papersize,keyword)); PAPERSIZE=LETTER 40 41 /* Change the value to the startup value and check it. */ 42 /* RESULT: A4 */ 43 44 %let defsize = %sysfunc(getoption(papersize,keyword,startupvalue)) ; 45 options &defsize; run; 46 %put %sysfunc(getoption(papersize,keyword)); PAPERSIZE=A4