前のページ|次のページ

LOCALEDATA プロシジャ

例: LOCALEDATAプロシジャを使用したロケールデータの変更

要素:

PROC LOCALEDATAステートメント

LOADステートメント

MODIFYステートメント

SAVEステートメント

CONTENTSステートメント

他の要素:

DATAステップ

PUTステートメント

次のプログラムでは、ロケールデータを変更します。SASは二度呼び出されます。

ロケール定義の変更

PROC LOCALEDATA;
LOAD SASLOCALE;
MODIFY KEY=QTR1 VALUE='QTR1'; MODIFY KEY=QTR2 VALUE='QTR2'; MODIFY KEY=QTR3 VALUE='QTR3'; MODIFY KEY=QTR4 VALUE='QTR4'; MODIFY KEY=DATE_SHORT_FORMAT VALUE='%Y//%m//%d'; MODIFY KEY=DATE_YEAR_FORMAT VALUE='Year(%Y)';
SAVE REGISTRY / _ALL_ syntax=SAS;
CONTENTS _ALL_;
QUIT;
data _null_;
a = 19208;
put a nldate./ a nldateyq./ a nldateyr.; run;

プログラムの説明

LOCALEDATAプロシジャを呼び出します。
PROC LOCALEDATA;
ローカルロケールデータベースからロケール定義を読み込みます。
LOAD SASLOCALE;
定義値を変更します。
MODIFY KEY=QTR1 VALUE='QTR1'; MODIFY KEY=QTR2 VALUE='QTR2'; MODIFY KEY=QTR3 VALUE='QTR3'; MODIFY KEY=QTR4 VALUE='QTR4'; MODIFY KEY=DATE_SHORT_FORMAT VALUE='%Y//%m//%d'; MODIFY KEY=DATE_YEAR_FORMAT VALUE='Year(%Y)';
変更した定義をレジストリに保存します。 この操作によりレジストリに保存されている定義が上書きされるので、重複するキー値はありません。
SAVE REGISTRY / _ALL_ syntax=SAS;
レジストリの変更されたロケール定義を表示します。
CONTENTS _ALL_;
QUITコマンドを呼び出して、処理を終了します。
QUIT;
変更されたロケール定義をテストするためのDATAステップを作成します。
data _null_;
値19208を変数aに代入します。
a = 19208;
変数aの値を出力形式NLDATE.、NLDATEYQ.、NLDATEYRを使用して出力します。
put a nldate./ a nldateyq./ a nldateyr.; run;

SASログ

1    PROC LOCALEDATA; 2 3      /* Load locale defintion from locale DB */ 4      LOAD SASLOCALE; 5 6      /* Change the value of the elements */ 7      MODIFY KEY=QTR1 VALUE='QTR1'; 8      MODIFY KEY=QTR2 VALUE='QTR2'; 9      MODIFY KEY=QTR3 VALUE='QTR3'; 10     MODIFY KEY=QTR4 VALUE='QTR4'; 11     MODIFY KEY=DATE_SHORT_FORMAT VALUE='%Y//%m//%d'; 12     MODIFY KEY=DATE_YEAR_FORMAT VALUE='Year(%Y)' ; 13     /* Store the locale definition into registry, this will override the existing definition, 13 ! so there is no duplicate key issue */ 14     SAVE REGISTRY / _ALL_ syntax=SAS; 15 16     /* View the locale definition from registry */ 17     CONTENTS _ALL_; LOCALE="English_UnitedStates" LANGUAGE="English" LANGUAGE_SCRIPT="en" TERRITORY="UnitedStates" LANGID="en" LOCID="US" DATESTYLE="MDY" PAPERSIZE="LETTER" FTITLE="" FTEXT="" SIMFONT="" SORTSEQ="" MESSAGES="" FORMATNAME_DATE="NLDATE16."FORMATNAME_DATETIME="NLDATM24."FORMATNAME_TIME="NLTIME8."FORMATNAME_NUMERIC="BEST12."FORMATNAME_PERCENT="PERCENT12."FONT_SERIF="COMPLEX" FONT_SANSSERIF="SIMPLEX" FONT_CURSIVE="ITALIC" FONT_FANTASY="BRUSH" FONT_MONOSPACE="SIMPLEX" BRUSH="BRUSH" SIMPLEX="SIMPLEX" COMPLEX="COMPLEX" SWISS="SWISS" ITALIC="ITALIC" DATE_FORMAT="%B %d, %Y" DATE_SHORT_FORMAT="%Y//%m//%d" DATE_MEDIUM_FORMAT="%b %e, %Y" DATE_LONG_FORMAT="%B %e, %Y" DATE_FULL_FORMAT="%A, %B %e, %Y" DATE_FULL_AB_FORMAT="%a, %b %e, %Y" DATE_YYMM_FORMAT="%B %Y" DATE_YYMM_SHORT_FORMAT="%b %Y" DATE_MMDD_FORMAT="%B %d" DATE_MMDD_SHORT_FORMAT="%b %d" DATE_YEAR_FORMAT="Year(%Y)" DATE_YEAR_SHORT_FORMAT="%y" DATE_YYQQ_FORMAT="%Q %Y" DATE_YYQQ_SHORT_FORMAT="%q %Y" DATE_YYWW_FORMAT="Week %U %Y" DATE_YYWW_SHORT_FORMAT="W%U %y"
DATETIME_AMPM_FORMAT="%B %e, %Y %I:%M:%S %p" DATETIME_AMPM_AB_FORMAT="%b %e, %Y %I:%M:%S %p" DATETIME_FORMAT="%d%b%Y:%H:%M:%S" DATETIME_SHORT_FORMAT="%o/%e/%Y %I:%M:%S %p" DATETIME_MEDIUM_FORMAT="%b %e, %Y %I:%M:%S %p" DATETIME_LONG_FORMAT="%B %e, %Y %I:%M:%S %p" DATETIME_FULL_FORMAT="%A, %B %e, %Y %I:%M:%S %p" DATETIME_FULL_AB_FORMAT="%a, %b %e, %Y %I:%M:%S %p" TIME_AMPM_FORMAT="%I:%M:%S %p" TIME_FORMAT="%H:%M:%S" TIME_SHORT_FORMAT="%I:%M %p" TIME_MEDIUM_FORMAT="%I:%M:%S %p" TIME_LONG_FORMAT="%I:%M:%S %p %Z" TIME_FULL_FORMAT="%I:%M:%S %p %Z" DATETIME_PATTERN="%x %X" ABMON01="Jan" ABMON02="Feb" ABMON03="Mar" ABMON04="Apr" ABMON05="May" ABMON06="Jun" ABMON07="Jul" ABMON08="Aug" ABMON09="Sep" ABMON10="Oct" ABMON11="Nov" ABMON12="Dec" MON01="January" MON02="February" MON03="March" MON04="April" MON05="May" MON06="June" MON07="July" MON08="August" MON09="September" MON10="October" MON11="November" MON12="December" SA_ABMON01="Jan" SA_ABMON02="Feb" SA_ABMON03="Mar" SA_ABMON04="Apr" SA_ABMON05="May" SA_ABMON06="Jun" SA_ABMON07="Jul" SA_ABMON08="Aug" SA_ABMON09="Sep" SA_ABMON10="Oct" SA_ABMON11="Nov" SA_ABMON12="Dec" SA_MON01="January" SA_MON02="February" SA_MON03="March" SA_MON04="April" SA_MON05="May" SA_MON06="June" SA_MON07="July" SA_MON08="August" SA_MON09="September" SA_MON10="October" SA_MON11="November" SA_MON12="December"
ABDAY1="Sun" ABDAY2="Mon" ABDAY3="Tue" ABDAY4="Wed" ABDAY5="Thu" ABDAY6="Fri" ABDAY7="Sat" DAY1="Sunday" DAY2="Monday" DAY3="Tuesday" DAY4="Wednesday" DAY5="Thursday" DAY6="Friday" DAY7="Saturday" SA_ABDAY1="Sun" SA_ABDAY2="Mon" SA_ABDAY3="Tue" SA_ABDAY4="Wed" SA_ABDAY5="Thu" SA_ABDAY6="Fri" SA_ABDAY7="Sat" SA_DAY1="Sunday" SA_DAY2="Monday" SA_DAY3="Tuesday" SA_DAY4="Wednesday" SA_DAY5="Thursday" SA_DAY6="Friday" SA_DAY7="Saturday" ABQTR1="Q1" ABQTR2="Q2" ABQTR3="Q3" ABQTR4="Q4" QTR1="QTR1" QTR2="QTR2" QTR3="QTR3" QTR4="QTR4" SA_ABQTR1="Q1" SA_ABQTR2="Q2" SA_ABQTR3="Q3" SA_ABQTR4="Q4" SA_QTR1="1st quarter" SA_QTR2="2nd quarter" SA_QTR3="3rd quarter" SA_QTR4="4th quarter" AM="AM" PM="PM" DATE_SEP="/" FIRST_DAY_OF_WEEK="0" INT_CURRENCY_SYMBOL="USD" CURRENCY_SYMBOL="$" MON_DECIMAL_POINT="."MON_THOUSANDS_SEP="," MON_GROUPING="3" MON_POSITIVE_SIGN="" MON_NEGATIVE_SIGN="-" MON_INT_FRAC_DIGITS="2" MON_FRAC_DIGITS="2" MON_P_CS_PRECEDES="1" MON_P_SEP_BY_SPACE="0" MON_N_CS_PRECEDES="1" MON_N_SEP_BY_SPACE="0" MON_P_SIGN_POSN="1" MON_N_SIGN_POSN="0"
CURR_FMT_L="#,##0.00;(#,##0.00)" CURR_FMT_I="#,##0.#;(#,##0.#)"NUM_DECIMAL_POINT="."NUM_THOUSANDS_SEP="," NUM_GROUPING="3" NUM_POSITIVE_SIGN="" NUM_NEGATIVE_SIGN="-" NUM_P_CS_PRECEDES="1" NUM_P_SEP_BY_SPACE="0" NUM_N_CS_PRECEDES="1" NUM_N_SEP_BY_SPACE="0" NUM_P_SIGN_POSN="1" NUM_N_SIGN_POSN="1" DEC_FMT_L="#,##0.###"DEC_FMT_I="#,##0.#"PCT_FMT_L="#,##0%" PCT_FMT_I="#,##0.#%"HEIGHT="279" WIDTH="216" 18 19   QUIT; NOTE:PROCEDURE LOCALEDATA used (Total process time): real time           0.24 seconds cpu time            0.18 seconds 20 21   data _null_ ; 22   a = 19208 ; 23   put a nldate./ a NLDATEYQ./ a NLDATEYR.; 24   run ; August 03, 2012 3rd quarter 2012 2012 NOTE:DATA statement used (Total process time): real time 2.96 seconds cpu time 0.28 seconds
前のページ|次のページ|ページの先頭へ