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

Sas 如何用正确的邮政编码替换格式不正确的邮政编码?,sas,Sas,我有一个如下所示的数据集: adjuster adjuster_zip A-20 98216 A-14 98214 A-17 98216 A-20 California 我需要格式化此数据集,使其全部为数字。我有几百个调节器,它们都出现了几百次。然而,他们每个人只有一个邮政编码。正如您在A-20中看到的,此调整器有有效和无效的邮政编码。所有具有无效邮政编码的调整器也具有有效邮政编码。我如何能够自动执行此操作,以便SAS通过调整器将无效邮

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

adjuster  adjuster_zip

A-20       98216

A-14       98214

A-17       98216

A-20       California
我需要格式化此数据集,使其全部为数字。我有几百个调节器,它们都出现了几百次。然而,他们每个人只有一个邮政编码。正如您在A-20中看到的,此调整器有有效和无效的邮政编码。所有具有无效邮政编码的调整器也具有有效邮政编码。我如何能够自动执行此操作,以便SAS通过调整器将无效邮政编码切换为有效邮政编码

谢谢你的帮助


此外,我也不知道如何格式化数据,使其显示在表中。对不起。

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


这将允许您使用
PUT
和自定义格式查找每个调节器的邮政编码。你仍然需要担心一些事情;该表必须是非重复每个调整,所以你需要决定如何处理两个或更多的拉链调整;当您使用PUT时,您需要检查它是否找到邮政编码。

谢谢您的帮助!