如何在列中找到最大观察长度,以便我能够 使用输入时应用格式化输入?
data class;
input name$;
cards;
Alfred
Alice
Barbara
Carol
Henry
;
run;
答案 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。