x226chen 发表于 2013-2-23 11:48 
嗯 我试过了 有error说no variable一类的 我不是很会写 可以教我一下吗?
proc transpose data=***;
va ...
PROC TRANSPOSE <DATA=input-data-set> <LET> <NAME=name> <OUT=output-data-set> <PREFIX=prefix>;
BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;
COPY variable(s);
ID variable;
IDLABEL variable;
VAR variable(s);
在PROC TRANSPOSE语句中可能出现的选择项有:
1)DATA=数据集名,用来说明要转置的数据集名,如果省略这一选择,则指定最新建立的数据集。
2)OUT=数据集名,用来说明转置所建立的新数据集名,如果省略这一选择,SAS将按内部程式给出新的数据集名。
3)LET 当ID出现重复时,那么只选用最后一条
4)NAME=字母 为含有输入数据集中被转置的变量名的输出数据集中的变量命名,如果省略这一选择,SAS将按内部程式指定为_NAME_。
5)PREFIX=字母(指定一个前缀,用来构成新变量名)。
BY语句 使输入数据集分组转置,分组变量被包括在输出数据集中。
COPY语句 将变量复制到新的数据集中。
ID语句 用来指定转置后的变量名
IDLABEL语句 为转置后的变量名添加标签
VAR语句中应列出要被转置的变量名,否则原数据集中未在其他语句中列出的所有数值型变量都将被转置,字符型变量必须在VAR语句中列出才能被转置,未被转置的变量不进入新的数据集,除非它们已列入COPY或BY语句。