我目前正在将我的软件包从 SAS Base 重组为 SAS Enterprise Guide,以便将知识转移给客户。不幸的是,我必须牺牲的一个方面是在我的 proc sql 左连接中从使用压缩到剥离的变化,例如以下代码不起作用
data have;
input ID VarA;
datalines;
1 2
2 3
3 4
4 5
;
run;
data have1;
input ID Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9;
datalines;
1 3 4 6 7 3 6 6 7 8
2 2 2 2 2 5 6 7 2 1
3 5 6 7 8 4 5 3 4 3
4 3 4 6 7 4 6 8 3 6
;
run;
proc sql;
create table Want as
select a.*
,b.Var1
,b.Var2
,b.Var3
,b.Var4
,b.Var5
,b.Var6
,b.Var7
,b.Var8
,b.Var9
from Have as a
left join Have1 as b
on compress(a.ID) = compress(b.ID);
quit;
我有时可以使用 strip 功能,但使用 compress 交付包裹更安全,因为观察中经常有错位的空格。有任何想法吗?
编辑:为了避免进一步的混乱,我通常使用 compress 函数来查找 EURIBOR 006m 等债券的参考利率 - 这使我的通用示例不正确,但左连接通常使用字符变量