如何用正确的邮政编码替换格式不佳的邮政编码?

时间:2014-07-02 14:09:47

标签: sas

我有一个如下所示的数据集:

adjuster  adjuster_zip

A-20       98216

A-14       98214

A-17       98216

A-20       California

我需要格式化这个数据集,以便adjuster_zip全部为数字。我有几百个调整器,它们都出现了几百次。但是,他们每个调整器只有一个邮政编码。正如您在A-20中看到的那样,此调整器具有有效和无效的邮政编码。所有包含无效邮政编码的理算员也都有有效的邮政编码。如何自动执行此操作,以便SAS通过调整器将无效的邮政编码切换为有效的邮政编码?

感谢您的帮助。

另外,我无法弄清楚如何格式化数据,使其显示在表格中。遗憾。

1 个答案:

答案 0 :(得分:1)

我的建议是为每个调整器构建一个格式表。从输入数据集开始;然后过滤到只有效的邮政编码(您可以使用NOTDIGIT检查任何非数字值,并检查LENGTH只有五个长)。然后使用FMTNAME作为常量字符串创建一个数据集,其中任何合​​法格式名称前面都是$($ADJZIPF将是一个好的cohice),START等于包含调整器的变量名称,LABEL是拉链。然后使用PROC FORMATcntlin=刚刚定义的数据集。

这样您就可以使用PUT和自定义格式查找每个调整器的zip。你仍然要担心一些事情;该表必须是每个调整器不重复的,因此您需要决定如何处理具有两个或更多拉链的调整器;并且您需要检查何时使用PUT它确实找到了邮政编码。