如何在列中找到最大观察长度?

时间:2014-08-12 05:58:46

标签: sas

如何在列中找到最大观察长度,以便我能够 使用输入时应用格式化输入?

 data class;
 input name$;
 cards;
   Alfred
   Alice
   Barbara
   Carol
   Henry
 ;
 run;     

2 个答案:

答案 0 :(得分:3)

您需要使用retain函数并遍历观察结果:

data _null_;
  set sashelp.class;
  retain max_name 0;
  if length(name)>max_name then do;
    max_name=length(name);
    call symput("max_name",put(max_name,best.));
  end;
run;
%put &max_name;

刚刚意识到proc sql更容易:

proc sql;
  select max(length(name))
  from sashelp.class;
quit;

答案 1 :(得分:2)

您可以使用 LENGTH 功能创建新列。然后,您可以使用 MAX 函数找到最大值。

此外,您还可以探索其他选项 - LENGTHC,LENGTHM,LENGTHN。