在SAS中,我试图弄清楚如何获得输出(结果或实际数据集),向我显示列名,变长和最大长度(当然,对于每列,该列重复名称)。
答案 0 :(得分:0)
要查找数据集中每个变量的最大长度,您可能需要转置数据或生成代码。
如果每个观察都有唯一的标识符,那么您可以先转置数据,然后找到最大长度。
proc transpose data=have out=tall ;
by rowid ;
var _character_;
run;
proc sql ;
create table want as
select _name_,max(length(col1)) as max_length
from tall
group by 1
;
quit;
或者生成代码以在单个观察中找到最大长度然后转置它。因此,如果你的变量是GENDER和RACE,你可以运行它。
proc sql ;
create table wide as
select max(length(GENDER)) as GENDER
, max(length(RACE)) as RACE
from have
;
quit;
proc transpose data=wide out=want;
run;
您可以使用原始数据的PROC CONTENTS信息在该select语句中生成一系列MAX(LENGTH(var)) as var
表达式。