用后续值填充空白变量

Fill blank variable with subsequent values

我有一个结构如下的数据集;

id    contracthours13    contracthours14    contracthours13u    contracthours14u
12    .                  13                 .                   13
13    30                 30                 .                   .
14    .                  .                  15                  16
15    .                  5                  6                   7

如果缺少 contracthours13,我希望 contracthours14 中的值移动。如果缺少它,那么我希望 contacthours13u 移动,如果前 3 个都丢失,那么 contracthours14u 也是如此。我知道这是相当简单的语法,但如果不使用 运行 更简单的语法 3 次,我就无法理解如何做到这一点。如果有人能提供帮助,将不胜感激。

编辑:下面是我希望我的数据集之后的样子。

id    contracthours13
12    13
13    30
14    15
15    5

查找 VECTOR / LOOP 个示例。

DATA LIST FREE / ID CH13 CH14 CH13U CH14U.
BEGIN DATA.
1 -1 13 -1 -1
2 30 30 -1 -1
3 -1 -1 15 16
4 -1 5 6 7
END DATA.
DATASET NAME DSRaw.
RECODE ALL (-1=SYSMIS).

VECTOR V= CH14 TO CH14U.
LOOP #i = 1 TO 3 IF (NVALID(CH13)=0).
  COMPUTE CH13=V(#i).
END LOOP IF NVALID(V(#i))=1.
LIST.
EXE.

**List**
  ID     CH13     CH14    CH13U    CH14U 

1.00    13.00    13.00      .        . 
2.00    30.00    30.00      .        . 
3.00    15.00      .      15.00    16.00 
4.00     5.00     5.00     6.00     7.00 


Number of cases read:  4    Number of cases listed:  4