我有(b.sslag1 - b.sslag100)
。 SAS中是否有任何内置功能可以实现相同目标,同时提高效率?
(case when a.ss = . and b.sslag1 ^=. then b.sslag1
when a.ss = . and b.sslag1 =. and b.sslag2 ^=. then b.sslag2
when a.ss = . and b.sslag1 =. and b.sslag2 =. and b.sslag3 ^=. then b.sslag3
when a.ss = . and b.sslag1 =. and b.sslag2 =. and b.sslag3 =. and b.sslag4 ^=. then b.sslag4
....
else a.ss end) as ss
答案 0 :(得分:4)
使用合并功能。
coalesce(a.ss, b.sslag1, b.sslag2, b.sslag3, b.sslag4) as ss
在数据步骤中,您可以使用简写符号。简写符号在PROC SQL中不起作用。
coalesce(a.ss, of b.sslag1-b.sslag100);