我试图创建一个读取邮政编码的proc格式并相应地将标签应用到其状态。
出于某种原因,尽管我的开始和结束字段都是数字,但它仍然会返回错误,说明:
"未找到或无法加载ZONENEW格式。"
我唯一能解决的问题是将我的Pcode数据更改为Text,将我的Start和End格式字段更改为Text。
这是我现有的代码,仍然是数字格式。
data Fmt_All_zones;
set all_zones end=eof;
retain type 'c';
fmtname = 'zonenew';
start = pcode_fr;
end = pcode_to;
label = key;
output;
if eof then do;
start = 'other';
end = 'other';
label = "Error";
output;
end;
run;
proc format cntlin = fmt_all_zones library = work;
run;
data TestPostcodes;
input Pcode;
datalines;
2050
2065
3000
2879
9999
1999
6488
;
run;
data FilteredPcode;
set TestPostcodes;
Pcode_Label = put(Pcode, zonenew.);
run;
我希望得到一个解释,以帮助我理解这个过程!感谢。
答案 0 :(得分:1)
您通过设置TYPE='C'
来定义字符格式。如果您想要数字格式,请使用TYPE='N'
。