gpt4 book ai didi

join - 在 SAS 中加入两个数据集的替代方法

转载 作者:行者123 更新时间:2023-12-02 08:29:20 27 4
gpt4 key购买 nike

我有两个数据集 DS1DS2DS1 是 100,000 行 x 40 列,DS2 是 20,000 行 x 20 列。如果某些字段匹配 DS2,我实际上需要从 DS1 中提取 COL1。由于我对 SAS 非常陌生,所以我试图坚持使用 SQL 逻辑。

所以基本上我做了(拍摄版)

proc sql;
...
SELECT DS1.col1
FROM DS1 INNER JOIN DS2
on DS1.COL2=DS2.COL3
OR DS1.COL3=DS2.COL3
OR DS1.COL4=DS2.COL2
...

大约一个小时后,它仍在运行,但我收到来自 SAS 的电子邮件,说我正在使用 700gb 左右。是否有更好更快的 SAS 方式来执行此操作?

最佳答案

我会使用 3 个单独的查询并使用 UNION

proc sql;
...
SELECT DS1.col1
FROM DS1 INNER JOIN DS2
on DS1.COL2=DS2.COL3

UNION

SELECT DS1.col1
FROM DS1 INNER JOIN DS2
On DS1.COL3=DS2.COL3

UNION

SELECT DS1.col1
FROM DS1 INNER JOIN DS2
ON DS1.COL4=DS2.COL2
...

关于join - 在 SAS 中加入两个数据集的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28902419/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com