上一頁|下一頁

TRANTAB 程序

範例 7: 編輯表格 1 和表格 2

功能:

LIST 陳述式

REPLACE 陳述式

SAVE 陳述式

SWAP 陳述式

此範例顯示如何編輯轉譯表格的兩個區域。若要編輯位置 256 到 511 (表格 2),您必須
  • 發出 SWAP 陳述式,讓表格 2 和表格 1 交換位置。
  • 發出適當的 REPLACE 陳述式來變更表格 2。
  • 重新發出 SWAP 陳述式,以重新定位表格。
SAS 日誌中的箭頭標示已變更的列和欄。
設定 SAS 系統選項並指定轉譯表格。
options nodate pageno=1 linesize=80 pagesize=60;
proc trantab table=upper;
顯示原始轉譯表格。LIST 陳述式會顯示原始 UPPER 轉譯表格。
list both;

SAS 日誌

下列輸出是原始 UPPER 轉譯表格。
NOTE: Table specified is UPPER.
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

UPPER table 2:
↓
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 '60000000000000000000000000000000'x
70 '00000000000000000000007B7C7D7E7F'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


取代轉譯表格中從指定的位置開始的字元。REPLACE 陳述式會從位置 1 開始,並以 '0A' 取代目前值 01。
replace 1 '0A'x;
準備要編輯的表格 2。第一個 SWAP 陳述式會定位表格 2,使其能夠進行編輯。第二個 REPLACE 陳述式會在表格 2 中進行與在表格 1 中所做相同的變更。
swap;
replace 1 '0A'x;
以原始位置儲存及顯示表格。 第二個 SWAP 陳述式會將表格 1 和表格 2 還原為其原始位置。SAVE 陳述式預設會儲存轉譯表格的兩個部分。LIST 陳述式會同時顯示表格的兩個區域。
swap;
save;
list both;

SAS 日誌

在轉譯表格的兩個區域的位元組 2 中,編輯過的 UPPER 轉譯表格十六進位值 '0A' 會取代十六進位值 01。箭頭會標示出表格中進行此變更的列和欄。
NOTE: Table specified is UPPER. 
UPPER table 1:
[darr]
 0 1 2 3 4 5 6 7 8 9 A B C D E F
00 '000A02030405060708090A0B0C0D0E0F'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

UPPER table 2:
[darr]
 0 1 2 3 4 5 6 7 8 9 A B C D E F
00 '000A02030405060708090A0B0C0D0E0F'x <--
10 '101112131415161718191A1B1C1D1E1F'x
20 '202122232425262728292A2B2C2D2E2F'x
30 '303132333435363738393A3B3C3D3E3F'x
40 '404142434445464748494A4B4C4D4E4F'x
50 '505152535455565758595A5B5C5D5E5F'x
60 '60000000000000000000000000000000'x
70 '00000000000000000000007B7C7D7E7F'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



上一頁|下一頁|頁面頂端