前のページ|次のページ

TRANTAB プロシジャ

例4: 開始位置に引用符付き文字を使用した編集

要素:

LISTステートメント

LOADステートメント

REPLACEステートメント

SAVEステートメント

この例では、ASCII変換テーブルを編集して新しい変換テーブルを作成します。REPLACEステートメントで指定した引用符付き文字と等しい16進値が最初に出現する位置が、テーブルへの変更開始位置になります。この方法は、テーブルへの変更を開始する正確な位置を知る必要がないため、開始位置に10進値を指定した編集とは異なります。PROC TRANTABが、ユーザーに代わって正確な位置を検索します。
編集されたテーブルは、新しい名前で保存されます。両方のSASログ内の横矢印は、変換テーブル内の編集された行を示します。
例はすべてUNIX環境で作成されました。

プログラム1:元のテーブルの表示

   options nodate pageno=1 linesize=80 pagesize=60; proc trantab table=ascii;
   list one;

プログラムの説明

システムオプションを設定し、編集する変換テーブルを指定します。
   options nodate pageno=1 linesize=80 pagesize=60; proc trantab table=ascii;
変換テーブルを表示します。このLISTステートメントでは、SASログに元の変換テーブルを表示します。
   list one;

SASログ

NOTE:Table specified is ASCII.ASCII table 1:0 1 2 3 4 5 6 7 8 9 A B C D E F 00 '000102030405060708090A0B0C0D0E0F'x 10 '101112131415161718191A1B1C1D1E1F'x 20 '202122232425262728292A2B2C2D2E2F'x 30 '303132333435363738393A3B3C3D3E3F'x 40 '404142434445464748494A4B4C4D4E4F'x 50 '505152535455565758595A5B5C5D5E5F'x 60 '606162636465666768696A6B6C6D6E6F'x ← 70 '707172737475767778797A7B7C7D7E7F'x ← 80 '808182838485868788898A8B8C8D8E8F'x 90 '909192939495969798999A9B9C9D9E9F'x A0 'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'x B0 'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'x C0 'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'x D0 'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF'x E0 'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'x F0 'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'x

プログラム2:テーブルの編集

   replace 'a' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
   save table=upper;
   load table=upper; list one;

プログラムの説明

変換テーブル内の文字を指定された開始位置から置き換えます。このREPLACEステートメントでは、最初に出現する16進の"a"(61)を検索し、その文字と続く25個の16進値を大文字の"A"から"Z"までの16進値で置き換えます。
   replace 'a' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
変更を保存します。このSAVEステートメントでは、ASCII変換テーブルに加えた変更をUPPERという新しいテーブル名で保存します。ASCII変換テーブルに保存された内容は、変更されずに残ります。
   save table=upper;
変換テーブルを読み込んで表示します。このLOADステートメントでは、編集された変換テーブルUPPERを読み込みます。このLISTステートメントでは、SASログに変換テーブルUPPERを表示します
   load table=upper; list one;

SASログ

NOTE:Table UPPER being loaded.UPPER table 1:0 1 2 3 4 5 6 7 8 9 A B C D E F 00 '000102030405060708090A0B0C0D0E0F'x 10 '101112131415161718191A1B1C1D1E1F'x 20 '202122232425262728292A2B2C2D2E2F'x 30 '303132333435363738393A3B3C3D3E3F'x 40 '404142434445464748494A4B4C4D4E4F'x 50 '505152535455565758595A5B5C5D5E5F'x 60 '604142434445464748494A4B4C4D4E4F'x ← 70 '505152535455565758595A7B7C7D7E7F'x ← 80 '808182838485868788898A8B8C8D8E8F'x 90 '909192939495969798999A9B9C9D9E9F'x A0 'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'x B0 'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'x C0 'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'x D0 'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF'x E0 'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'x F0 'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'x
前のページ|次のページ|ページの先頭へ