合并具有2个不同变量的数据集

时间:2015-03-10 18:16:26

标签: merge sas

这是我与SAS的第二天,我正在尝试合并VEKP和LIPS,其中VEKP具有变量VPOBJKEY且LIPS具有变量VBELN。 VPOBJKEY和VBELN具有相同的数据。我搜索了论坛,发现我可以重命名它们。这是我到目前为止所得到的,但仍然无法深究。任何帮助,将不胜感激。谢谢

DATA TYPE (KEEP= EXIDV VHILM VPOBJKEY);
SET HD.VEKP;
WHERE VHILM = "H3";
RUN;

DATA MATERIAL (RENAME=(VBELN=VPOBJKEY)KEEP= VBELN MATNR);
SET HD.LIPS;
RUN;

DATA COMBINED;
MERGE MATERIAL (IN=INA)
TYPE (IN=INB);
BY VBELN;
IF INA AND INB THEN OUTPUT COMBINED;
RUN;

2 个答案:

答案 0 :(得分:1)

我相信我明白了。

DATA TYPE (KEEP= EXIDV VHILM VPOBJKEY);
SET HD.VEKP;
WHERE VHILM = "H3";
RUN;
PROC SORT DATA=TYPE; BY VPOBJKEY; RUN;

DATA MATERIAL (RENAME=(VBELN=VPOBJKEY)KEEP= VBELN MATNR);
SET HD.LIPS;
RUN;
PROC SORT DATA= MATERIAL; BY VPOBJKEY; RUN;
DATA COMBINED;
MERGE MATERIAL (IN=INA)
TYPE (IN=INB);
BY VPOBJKEY;
IF INA AND INB THEN OUTPUT COMBINED;
RUN;

答案 1 :(得分:0)

在set语句中完成重命名后,MATERIAL包含一个名为VPOBJKEY的变量,而不是一个名为VBELN的变量。请尝试通过VPOBJKEY进行合并。