前のページ|次のページ

通貨表現

通貨の概要

通貨は、その国特有の交換手段です。SASでは、通貨の書き出しと読み込みに使用する出力形式と入力形式を提供します。

米国ドルの通貨表現

DOLLARw.d出力形式と入力形式が、最初に、米国通貨の読み込みと書き出しを行うために導入されました。DOLLARw.dでは次の記号を使用します。
  • 米国通貨の先頭に通貨記号としてドル記号($)を使用します。
  • カンマ(,)を桁区切り文字として、ピリオド(.)を小数点区切り文字として使用します。
例:
$12,345.00
DOLLARXw.dはまた、通貨の先頭にドル記号($)を付け、桁区切り文字としてピリオド(.)、小数点区切り文字としてカンマ(,)を使用して書き出します。ピリオドとカンマが逆の通貨表現は、ヨーロッパの多くの国で使用される規則です。
例:
 $12.345,00
DOLLAR出力形式および入力形式には次の制限があります。
  • すべての通貨記号をサポートしません。
  • ヨーロッパ諸国には、ピリオドとカンマが逆の通貨表現を使用しない国があります。
  • 通貨記号の表現はコンピュータによって違います(EBCDICベースのコンピュータとASCIIベースのコンピュータでは文字の表示が違います)。

ユーロ

EUROw.d出力形式および入力形式は、1999年に設立された欧州通貨同盟(EMU)によって制定されたユーロ通貨をサポートするために導入されました。EUROw.d
例:
options locale=English_UnitedKingdom;
data _null_;
x=12345;
put x euro10.2;
run;
出力:
 €12.345,00
EURO出力形式および入力形式には次の制限があります。
  • €記号がセッションのエンコーディングによってサポートされていない場合は、文字Eを通貨記号とし使用します。
  • EURO出力形式はロケール依存ではありません。カンマ(,)を桁区切り文字として、ピリオド(.)を小数点区切り文字として使用します。

カスタマイズした通貨表現

カスタマイズした通貨表現を作成するには、FORMATプロシジャが使用できます。次の例では、オーストラリアドル、スイスフランおよびイギリスポンドに固有の出力形式を作成します。FORMATプロシジャの詳細については、 Base SASプロシジャガイドを参照してください。
通貨表現をカスタマイズするSASコード
proc format; picture aud low-<0='0,000,000,009.00' (prefix='-AU$' mult=100) 0–high='0,000,00,009.00 ' (prefix='AU$' mult=100); picture sfr low-<0='0,000,000,009.00' (prefix='-SFr.' mult=100) 0–high='0,000,00,009.00 ' (prefix='-SFr.' mult=100); picture bpd low-<0='0,000,000,009.00' (prefix='-BPd.' mult=100) 0–high='0,000,00,009.00 ' (prefix='BPd.' mult=100); run; data currency; input aud sfr bpd 12.2; datalines; 12345 12345 12345 0 0 0 -12345 -12345 -12345 ; proc print data=currency noobs; var aud sfr bpd; format aud aud. sfr sfr. bpd bpd.; title 'Unique Currency Formats'; run;
ユニークな通貨出力形式
通貨表現をカスタマイズすると柔軟性は向上しますが、プログラムでの対応が必要です。

各国語の通貨記号/国際標準の通貨コードを使用した、地域化された通貨表現

NLMNYw.dおよびNLMNYIw.dの出力形式と入力形式は、地域化された通貨を次の2つの形式で表現するために導入されました。
地域化された各国語通貨表現
ロケールの地域規則と慣習が反映されます。各国語のフォーマットは、NLMNYw.d出力形式および入力形式を使用して指定します。NLMNYw.d出力形式および入力形式を使用する場合、さらにLOCALE=オプションも使用してロケールを指定する必要があります。
例:options locale=english_UnitedStates; data _null_; x=12345; put x nlmny15.2; run;
出力:
$12,345.00 次に、一部の通貨の各国語表現を示します。
地域化された各国語通貨表現
LOCALE=
通貨
各国語表現
English_UnitedStates
米国ドル
$12,345.00
French_Canada
カナダドル
12 345,00 $
French_France
ユーロ
12 345,00 €
French_Switzerland
スイスフラン
SFr.12'345.00
German_Germany
ユーロ
12.345,00 €
German_Luxembourg
ユーロ
12.345,00 €
Spanish_Spain
ユーロ
12.345,00 €
Spanish_Venezuela
ベネズエラボリバル
VEF12.345,00
地域化された表示には、通貨表示に関する各国固有の地域規則が反映されます。たとえば、これらのEMU諸国の中には、同じユーロ通貨を使用していても通貨の表記が異なる場合があります。French_Franceは、桁区切り文字は使用せず、小数点区切り文字としてカンマを使用しますが、German_GermanyおよびSpanish_Spainは桁区切り文字としてピリオドを、小数点区切り文字としてカンマを使用します。
国際標準の通貨コードを使用した、地域化された通貨表現
ISO標準4217に準拠します。国際標準の通貨コードを使用した形式は、NLMNYIw.d出力形式および入力形式を使用して指定します。国際標準の通貨コードを使用した形式は一般に、世界各国の通貨の対比を示すために使用されます。たとえば、航空券、貿易、株価などで使用されます。NLMNYIw.d出力形式および入力形式を使用する場合、さらにLOCALE=オプションも使用してロケールを指定する必要があります。"International"を示す文字"I"が、出力形式名および入力形式名に付加されています。
例:
options locale=english_UnitedStates;
data _null_;
 x=12345; put x nlmnyi15.2;
run;
出力:USD12,345.00
国際標準の通貨コードを使用した通貨表現の一部を次に示します。
国際標準の通貨コードを使用した、ロケール別の通貨表現(ISO標準4217)
LOCALE=
通貨
国際標準の通貨コードを使用した表現
English_UnitedStates
米国ドル
USD12,345.00
French_Canada
カナダドル
12 345,00 CAD
French_France
ユーロ
12 345,00 EUR
French_Luxembourg
ユーロ
12.345,00 EUR
German_Germany
ユーロ
12.345,00 EUR
German_Switzerland
スイスフラン
CHF12,345.00
Spanish_Spain
ユーロ
12.345,00 EUR
Spanish_Venezuela
ベネズエラボリバル
VEF12.345,00
国際標準の通貨コードを使用した表示には、通貨表示に関する各国固有の地域規則も反映されます。たとえば、すべてのロケールがカンマ(,)を桁区切り文字として、ピリオド(.)を小数点として使用していても、ISO通貨コードの位置が異なることがあります。EMU諸国が通貨の後に通貨コードを付けるのに対し、English_UnitedStates、German_SwitzerlandおよびSpanish_Venezuelaでは通貨の前にISOコードが付けられます。
ISO標準4217通貨コードの全リストについては、http://www.xe.com/iso4217.phpを参照してください。
各国語の通貨記号/国際標準の通貨コードを使用した地域化された通貨表現を使用する場合、LOCALE=システムオプションの値に依存することが最大の制限となります。

各国語の通貨記号/国際標準の通貨コードを使用した、独自の通貨表現

NLMNLISOw.dおよびNLMNIISOw.dの出力形式と入力形式は、LOCALE=オプションを併用してロケールを指定しなくても各通貨を独自に表現できるように導入されました。各通貨は、ISO標準4217通貨コードで示されます。
独自の各国語通貨表現
固有のISO通貨コードで指定します。各国語のフォーマットは、NLMNLISOw.d出力形式および入力形式を使用して指定します。次の例では、USDが米国ドルのISO通貨コードです。
注: NLMNLISOw.d出力形式および入力形式を使用する場合は、LOCALE=オプションは省略可能です。
例:data _null_; x=12345; put x nlmnlusd15.2; run;
出力:
US$12,345.00 次に、独自の各国語通貨表現の一部を示します。
この例では、ロケールはfr_FRとして指定されます。
data _null_; x=12345; put x nlmnleur15.2; run;
出力:
€12,345.00
ISO通貨コードを使用した、独自の通貨表現
ISO通貨コード
通貨
各国語表現
USD
米国ドル
US$12,345.00
CAD
カナダドル
CA$12,345.00
EUR
ユーロ
€12,345.00
CHF
スイスフラン
SFr.12,345.00
EUR
ユーロ
€12,345.00
EUR
ユーロ
€12,345.00
EUR
ユーロ
€12,345.00
VEB
ベネズエラボリバル
BsF.12,345.00
通貨記号または通貨コードは、多くの通貨で先頭に付けられます。また、桁区切り文字にはカンマ、小数点区切り文字にはピリオドが使用されます。ローカル通貨の通貨記号が現在のSASセッションのエンコーディングでサポートされていない場合、NLMNLxxxw.d出力形式では、3文字のISO通貨コードを使用して値をフォーマットします。
国際標準の通貨コードを使用した、独自の通貨表現
固有のISO通貨コードで指定します。国際化対応出力形式は、NLMNIISOw.d出力形式および入力形式を使用して指定します。国際標準の通貨コードを使用した形式は一般に、世界各国の通貨の対比を示すために使用されます。たとえば、航空券、貿易、株価などで使用されます。たとえば、航空券、貿易、株価などで使用されます。"International"を示す文字"I"が、出力形式名および入力形式名に付加されています。次の例では、USDが米国ドルのISO通貨コードです。
注: NLMNIISOw.d出力形式および入力形式を使用する場合、LOCALE=オプションを使用してロケールを指定しません。
例:data _null_; x=12345; put x nlmniusd15.2; run;出力:USD12,345.00
国際標準の通貨コードを使用した通貨表現の一部を次に示します。
国際標準の通貨コードを使用した、ISO通貨コード別の通貨表現
ISO通貨コード
通貨
国際標準の通貨コードを使用した表現
USD
米国ドル
USD12,345.00
CAD
カナダドル
CAD12,345.00
EUR
ユーロ
EUR12,345.00
CHF
スイスフラン
CHF12,345.00
EUR
ユーロ
EUR12,345.00
EUR
ユーロ
EUR12,345.00
EUR
ユーロ
EUR12,345.00
VEB
ベネズエラボリバル
不明
国際標準の通貨コードを使用した表示では、該当するISOコードが通貨の先頭に付けられます。また、桁区切り文字にはカンマ、小数点区切り文字にはピリオドが使用されます。

例:各国語の通貨記号および国際標準の通貨コードを使用した出力形式での通貨の表現

このSASプログラムでは、選択したアジア太平洋諸国について米国ドルに対する換算レートを使用します。出力では、各国の通貨が各国語の通貨記号および国際標準の通貨コードを使用した出力形式を使用して表記されます。
各国語の通貨記号および国際標準の通貨コードを使用した出力形式で通貨を表記するSASコード
data curr; input ex_date mmddyy. usd aud hkd jpy sgd 12.2; datalines; 061704 1.00000 1.45349 7.79930 110.110 1.71900  1; proc print data=curr noobs label; var ex_date usd aud hkd jpy sgd; format ex_date mmddyy. usd nlmnlusd15.2 aud nlmnlaud15.2 hkd nlmnlhkd15.2 jpy nlmnljpy15.2 sgd nlmnlsgd15.2;2label ex_date='Date' usd="US" aud='Australia' hkd='Hong Kong' jpy='Japan' sgd='Singapore'; title 'Exchange Rates for Selected Asian-Pacific Countries (Localized Currency Codes)'; proc print data=curr noobs label; var ex_date usd aud hkd jpy sgd; format ex_date mmddyy. usd nlmniusd15.2 aud nlmniaud15.2 hkd nlmnihkd15.2 jpy nlmnijpy15.2 sgd nlmnisgd15.2;3label ex_date='Date' usd="US" aud='Australia' hkd='Hong Kong' jpy='Japan' sgd='Singapore'; title 'Exchange Rates for Selected Asian-Pacific Countries (International Currency Codes)'; run;                   
  1. 2004年6月17日の時点の各換算レートが、データとしてSASプログラムに指定されます。
  2. これらのNLMNLISO出力形式は、INPUTステートメントで指定された数値データ項目にそれぞれ適用されます。これらの出力形式は、該当する各国語の出力形式で通貨を表示します。
  3. これらのNLMNIISO出力形式は、INPUTステートメントで指定された数値データ項目にそれぞれ適用されます。これらの出力形式は、該当する国際標準の通貨コードを使用した出力形式で通貨を表示します。
各国語の通貨記号および国際標準の通貨コードを使用した出力形式の出力
各国語の通貨記号および国際標準の通貨コードを使用した出力形式の出力
前のページ|次のページ|ページの先頭へ