SAS数据库中的Vlookup

时间:2014-01-09 10:34:53

标签: sql sas vlookup

我有一个包含人员标识符的表,这个标识符不是唯一的。来自同一家庭的一些人将具有相同的标识符,并且每个家庭将具有一个核心成员(还有另一列说明他是否是他的核心成员)。我想在此表中添加一个列,其中包含来自行族的核心成员的年龄。

为了在Excel中执行此操作,我会在桌面上使用VLookUp,但我无法使用SAS来确定如何使用它。

我试图在这个主题上寻求帮助,但似乎给出了很多答案来合并表格,但我觉得不能在这里完成。

谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不呢?假设每个ID只有一个核心成员:

proc sort data=PEOPLE;
    by identifier;
run;
data PEOPLE (drop=is_core_member);
    merge PEOPLE PEOPLE (keep=identifier core_member age rename=(core_member=is_core_member age=core_member_age) where=(is_core_member=1));
    by identifier;
run;

请注意,保留和重命名是避免表之间的公共变量名称(标识符除外)所必需的。下降是为了保持结果清洁。

有时测试感受是值得的。 ;)