我正在尝试编写一些代码,将新数据列合并到主数据集中。
由于这是以宏的形式编写的,我希望在此过程中不会创建新的数据集。
我使用以下代码实现了这一目标:
PROC SQL;
ALTER TABLE table1
ADD ADD_TYP Character length=12 format=$12.;
QUIT;
PROC SQL;
UPDATE table1 as A
SET ADD_TYP = (SELECT B.ADD_TYP FROM Address_Index as B
WHERE A.Key=B.Key);
QUIT;
但是,处理时间很可怕。这是正常的吗?左连接在5秒内完成。
我正在考虑做“CREATE TABLE table1”,即覆盖但在SAS中有错误消息
答案 0 :(得分:1)
5秒似乎并不令人发指。
但是对于更新查询,您需要Address_Index(Key, ADD_TYP)
上的索引。这应该会给你最好的表现。
但是,我应该注意,使用JOIN
获取信息可能更好。您可以使用JOIN
创建包含两个表的视图,因此只有在需要获取结果时才能完成工作。