If I use the code suggested by ballardw, which I had tried, it looks like this: PROC SQL;
/* Get just the portion of the code after the underscore and sort by original order */
CREATE TABLE b AS
SELECT DISTINCT
PRXCHANGE('s/^(\D{1})_(\w+)/$2/', -1, NAME) AS CODE
FROM
y
WHERE
PRXMATCH('/^\D{1}_/', NAME)
ORDER BY
VARNUM
;
QUIT; If you're suggesting that I change it to the following, it will remove the warning, but it won't produce the desired output: PROC SQL;
/* Get just the portion of the code after the underscore and sort by original order */
CREATE TABLE b AS
SELECT DISTINCT
PRXCHANGE('s/^(\D{1})_(\w+)/$2/', -1, NAME) AS CODE,
VARNUM /* Added VARNUM, per Astounding's suggestion */
FROM
y
WHERE
PRXMATCH('/^\D{1}_/', NAME)
ORDER BY
VARNUM
;
QUIT; If you were suggesting that I use the code above, but remove DISTINCT, that also does not produce the desired output. The above code and the code above without DISTINCT both produce the following results: /* Actual Output
CODE VARNUM
----------- -----------
UV 73
WX 74
YZ 75
ST 76
QR 77
UV 78
WX 79
YZ 80
ST 81
QR 82
UV 83
WX 84
YZ 85
ST 86
QR 87
UV 88
WX 89
YZ 90
ST 91
QR 92
UV 93
WX 94
YZ 95
ST 96
QR 97
*/
/* Desired Output
CODE
-----------
UV
WX
YZ
ST
QR
*/ Thanks.
... View more