The UPPER Translation Table and Its Inverse
The SAS log lists all the duplicate values that it encounters as it creates the inverse of table one. To conserve space, most of these messages are deleted in this example.
NOTE: Table specified is UPPER. NOTE: This table cannot be mapped one to one. duplicate of '41'x found at '61'x in table one. duplicate of '42'x found at '62'x in table one. duplicate of '43'x found at '63'x in table one. . . . duplicate of '58'x found at '78'x in table one. duplicate of '59'x found at '79'x in table one. duplicate of '5A'x found at '7A'x in table one. NOTE: Saving table 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 |