【发布时间】:2015-10-15 07:57:00
【问题描述】:
我想根据表中的某些条件创建一个新变量,并在单个数据或proc sql步骤中使用新创建的变量将其合并到另一个表中。
例如)
表 1
var new_var
x 3x
y 4y
>z 5z
表 2
new_var additional_var
3x 一个
3x 一个
4y z
并在一步
中使用 new_var 合并两个表谢谢
【问题讨论】:
我想根据表中的某些条件创建一个新变量,并在单个数据或proc sql步骤中使用新创建的变量将其合并到另一个表中。
例如)
表 1
表 2
并在一步
中使用 new_var 合并两个表谢谢
【问题讨论】:
您可以使用带有内联视图的连接来完成此操作。内联视图可以节省您的编码时间并减少 I/O 操作,这是导致速度变慢的最大原因。在非 SSD 硬盘上尤其如此。
proc sql noprint;
create table want as
select var, t1.new_var, additional_var
from table1 as t1
LEFT JOIN
(select new_var,
CASE
when(<conditions>) then 'a'
else 'z'
END as additional_var
from table2) as t2
ON t1.new_var = t2.new_var
quit;
【讨论】: