SAS:在数据步骤中从数据行读取字段

SAS: Reading fields from datalines in a data step

有人可以提供解释或 link 解释以下代码中“:”的功能:

data voter; 
infile datalines dsd dlm='~'
input age party : . (ques1 - Ques4) (. + 1); 

format age 2. party . ques1 - ques4 $likert.;
label Ques1 = ' performance '
        Ques2 = ' taxes '
        Ques3 = ' amenities '
        Ques4 = ' endurance ';
datalines;
23~D~2~1~3~4 
34~R~2~1~4~4 
43~D~2~2~1~1 
;

这是学习SAS的测试代码。当我从 INPUT 语句中删除“:”时,我无法正确读取数据。另外,请告诉我 ($1. + 1) 中的 +1 是什么;语境。这段代码摘自通过示例学习 SAS。提前致谢。

: 被称为 这意味着 - 遇到分隔符时停止阅读, 因为是列表输入法,所以点会向前移动一个单位

(问题 1-问题 4) ($1. +1);

与问题1 $1相同。 +1 问题 2 $1。 +1 问题 3 $1。 +1 问题 4 $1。 +1 即 Ques2 的位置从 Ques1 增加 +1,依此类推。