Sorting 在SAS中按手动顺序对列排序

Sorting 在SAS中按手动顺序对列排序,sorting,sas,Sorting,Sas,数据have Game col2 col3 col4 .. ABC AZA CGG EDD 我需要排序数据HAVEbyGame。但对于输出数据集WANT,顺序应始终为 Game col2 col3 col4 .. AZA ABC EDD CGG 如何在SAS中实现这一点?此外,所需的顺序存储在外部文件中。如果所需订单发生变化,我需要调整代码。所以我想要一个有效的方法来做到这一点 您可以根据以下内容创建一个信息,并对结果值进行排序 PROC FORMAT; INVALUE SEX 'A

数据
have

Game  col2 col3 col4 ..

ABC
AZA
CGG
EDD
我需要排序数据
HAVE
by
Game
。但对于输出数据集
WANT
,顺序应始终为

Game  col2 col3 col4 ..

AZA
ABC
EDD
CGG

如何在SAS中实现这一点?此外,所需的顺序存储在外部文件中。如果所需订单发生变化,我需要调整代码。所以我想要一个有效的方法来做到这一点

您可以根据以下内容创建一个信息,并对结果值进行排序

PROC FORMAT;
INVALUE SEX
'AZA' = 1
'ABC' = 2
'EDD' = 3
'CGG' = 4
;
RUN;

DATA HAVE;
TEST = "CGG";
OUTPUT;
TEST = "EDD";
OUTPUT;
TEST = "AZA";
OUTPUT;
RUN;

DATA WANT;
    SET HAVE;
    TEST2 = INPUT(TEST,SEX.);
RUN;

PROC SORT DATA = WANT;
BY TEST2;
RUN;