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

Merging data sets with 2 different variables

这是我使用 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;

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

好吧,我想我明白了。

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;