Mapping 即使消除了重复项,您如何映射ID?

Mapping 即使消除了重复项,您如何映射ID?,mapping,duplicates,sas,data-conversion,Mapping,Duplicates,Sas,Data Conversion,我目前在SAS中有一大组对象(>100000),每个对象大约有60列数据,包括一个ID号。这组数据中有许多重复的ID号。我的目标是使用我拥有的软件将我目前拥有的身份证号码转换成另一种形式的身份证号码。问题是,当我将ID号输入到软件中时,转换后的输出返回时没有我需要的副本。是否有任何方法可以使用输出ID号以某种方式创建输出ID列表,除了原始数据集具有的重复项。任何语言或软件都可以 这是我上面描述的一个例子 原始ID:086516 677240 449370 677240 941053 449370

我目前在SAS中有一大组对象(>100000),每个对象大约有60列数据,包括一个ID号。这组数据中有许多重复的ID号。我的目标是使用我拥有的软件将我目前拥有的身份证号码转换成另一种形式的身份证号码。问题是,当我将ID号输入到软件中时,转换后的输出返回时没有我需要的副本。是否有任何方法可以使用输出ID号以某种方式创建输出ID列表,除了原始数据集具有的重复项。任何语言或软件都可以

这是我上面描述的一个例子

原始ID:086516 677240 449370 677240 941053 449370

输出:147244 147947 147957 148021


首选输出:147244 147947 147957 147947 148021 147957

您可以使用merge语句在ID上进行合并,并将该值附加到具有相同ID值的每个记录中

data want;
merge have(in=a) newIDs(in=b);
by id;
if a and b;
run;

在这里显示更多信息。您有一个具有重复值的ID列的数据集;您希望基于此ID列附加另一个值。对于任何给定的ID值,另一个值总是相同的吗?也就是说,如果我有15行ID=56,它们都会得到newID=2345吗?好的,在编辑之后,另一个问题。您的“其他软件”是否会将原始ID和新ID(成对)返回给您,还是仅返回新ID?如果没有,您如何知道147244转到086516?是的,软件将在两个单独的列中返回具有原始ID和新ID的数据集。