我查看了这个主题的答案,这些答案的字符值非常少,无法格式化为数值。我有超过200个字符值来格式化他们的不同ID。并且具有其字符名称的独特id存在于另一个sas数据集中。 那么有没有其他方法可以做到这一点,而不是编写代码:
value $county ' Carroll County'= 034
' Chatham County'= 011
' Fulton County'= 213
' DeKalb County'= 002
.
.
.
' Chattahoochee County'=510; ;
run;
我正在使用sas 9.3
答案 0 :(得分:3)
使用Frazz推荐的方法,你会得到类似的结果:
data mapping;
set have1;
fmtname = '$county';
start = county_name;
label = county_number;
keep fmtname start label;
run;
proc format cntlin=mapping;
run;
然后您可以使用以下内容来应用格式:
number = put(name, $county3.);
请记住,您需要“开始”,“标签”和“fmtname”变量才能生效。另外,请确保首先没有重复的county_names,以便一个县名只映射到一个标签。