如何提取最后一个变量的名称和时间,并将所有变量更改为缺失?

How to extract last variables' name and time, and after change all variables to missing?

假设我有以下示例,没有强制性问题:

我想计算“time_end”和“time_end”(“x1”)的变量名称 - 蓝色单元格。

会是这样的:

time_end = 最后一个 answered/seen 问题的时间

x1 = 最后 answered/seen 个问题

“x1”之后的所有变量应等于缺失(无答案)而不是“零”。

检测这些情况的参考之一,可能是“time_var”是空的,所以从那时起不再有答案,不是吗?但是怎么办?

凡是回答的都不是问题(见ID=5)

但是当我“退出”(在调查问卷中间退出,没有完成)时,我有一个语法,我为这些 ID 案例中的每一个手动编写每个变量,包括命名所有“退出”后要放置的变量丢失(超过 50...)。

有没有办法用语法自动化这个?谢谢!

这是一种方法-
以下代码向后遍历变量。第一次遇到时间变量中的时间时,它将那个时间放在“time_end”变量中,并将变量名放在x1 变量中。它还会沿途清理 varX

string x1(a20).
compute time_end=$sysmis.
do repeat tm = time_var6 time_var5  time_var4 time_var3 time_var2 time_var1
         /vr = var6 var5 var4 var3 var2 var1 
         /vrnm = "var6" "var5" "var4" "var3" "var2" "var1" .
   if missing(tm) vr=$sysmis.
   do if missing(time_end) and not missing(tm).
      compute time_end=tm.
      compute x1=vrnm.
   end if.
end repeat.

formats time_end(time8).