重写sas代码以提高其效率

时间:2014-12-15 02:25:47

标签: sas

我有(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 

1 个答案:

答案 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);