计算变量SAS中字符串的长度

Calculating the length of a string within a variable SAS

我已经通过 SQL 将一些数据导入 SAS。我想改变变量的长度以提高数据集的效率和存储,但是我不知道变量的最大长度应该是多少。

例如我有变量"Forename"。它的长度目前设置为 300 美元。我知道这太大了,但不想猜测它应该是什么,以防我砍掉任何数据。如果我有以下名称,我如何计算出我需要将长度重置为 $10.?:

Obs Forename    Total Character Length
1   Tim         3
2   Gary        4
3   Samantha    8
4   Christopher 10

这不是真正的动态答案,但它非常简单。只需获取 Forename 变量的最大长度即可。

proc sql;
select max(length(forename)) from have;
quit;

这只是 return 最大长度,然后您可以将其插入以下数据步骤。

data want;
length forename ;
set have;
run;