【问题标题】:Merge two datasets where one has extra column SAS: proc sql合并两个数据集,其中一个具有额外的 SAS 列:proc sql
【发布时间】:2014-04-28 13:18:18
【问题描述】:

我正在尝试合并两个具有许多相同观察结果的数据集,但其中一个数据集多一列。 Dataset1 包含 20% 的观察数据,Dataset2 包含其他 80% 的观察数据(+ 额外一列)。如果我运行下面的代码,当我将两个数据集与 315 个观察值合并时,我会得到 4037 个观察值!

proc sql;
create table RateExposure as
select *
from Dataset1, Dataset2
where Dataset1.ID = Dataset2.ID
order by Dataset1.ID;
quit;

如果我跑了

data newDataset;
merge Dataset1 Dataset2;
by ID;
run;

我只对其中一个数据集进行观察 - 这怎么可能?

【问题讨论】:

  • 也许第一个代码使用SELECT t1.*, t2.extra_column FROM Dataset1 AS t1, Dataset2 AS t2会更好?看看结果
  • 它似乎不起作用。我尝试了不同的变化,但没有给出正确的结果。
  • 您尝试加入表格吗?
  • 我不确定应该执行哪个连接。我尝试了 union join 但我不对

标签: sql merge dataset sas


【解决方案1】:

试试这个:

PROC SQL;
CREATE TABLE result AS
SELECT t1.*, t2.extra_column
FROM Dataset1 AS t1
INNER JOIN Dataset2 AS t2 ON (t1.ID = t2.ID)
;
QUIT;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多