重写sas代码以提高其效率

重写sas代码以提高其效率,sas,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.s

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

使用合并函数

   coalesce(a.ss, b.sslag1, b.sslag2, b.sslag3, b.sslag4) as ss
在数据步骤中,可以使用简写符号。在PROC SQL中,速记符号不起作用

coalesce(a.ss, of b.sslag1-b.sslag100);

使用合并函数

   coalesce(a.ss, b.sslag1, b.sslag2, b.sslag3, b.sslag4) as ss
在数据步骤中,可以使用简写符号。在PROC SQL中,速记符号不起作用

coalesce(a.ss, of b.sslag1-b.sslag100);

您必须使用SQL吗?在数据步骤中,您可以使用简写符号一次引用所有变量。还是100个数字中只有1个填写或倍数?否则,您可以通过宏变量创建变量列表。是否必须使用SQL?在数据步骤中,您可以使用简写符号一次引用所有变量。还是100个数字中只有1个填写或倍数?否则,您可以通过宏变量创建变量列表。