我熟悉SAS :
和~
语句中的put
和input
修饰符。 &
语句中input
的行为也有相当详细的记录。但是&
语句中put
做了什么?
它似乎与:
具有相似的效果,触发修改后的列表输出而不是格式化输出,但我无法找到此行为的任何文档。
E.g。
data _null_;
set sashelp.class;
file 'c:\temp\output.csv' dlm=',';
put Name Sex Age & 4. Height Weight;
run;
答案 0 :(得分:1)
在INPUT声明列表
下的SAS 9.4部分的在线文档中引用&
表示字符值可以包含一个或多个单个嵌入空格。此格式修饰符从下一个非空白列中读取值,直到指针到达两个连续的空格,变量的已定义长度或输入行的结尾(以先到者为准)。
限制: &修饰符必须遵循它影响的变量名称和$符号。
提示: 如果您在&之后指定了一个信息。修饰符,格式修饰符的终止条件仍然是两个空格。
以下是示例部分中的示例:
读取包含嵌入式空白的字符数据的示例
此DATA步骤中的INPUT语句使用&带有列表输入的格式修饰符,用于读取包含嵌入空格的字符值。
data list;
infile file-specification;
input name $ & score;
run;
它可以读取这些输入数据记录:
----+----1----+----2----+----3----+
Joseph 11 Joergensen red
Mitchel 13 Mc Allister blue
Su Ellen 14 Fischer-Simon green
&修饰符跟随它在INPUT语句中影响的变量。由于此格式修饰符遵循NAME,因此至少两个空格必须将NAME字段与输入数据记录中的SCORE字段分开。
您还可以使用格式修饰符指定信息,如下所示:
input name $ & +3 lastname & $15. team $;
此外,此INPUT语句读取相同的数据,以证明您不需要读取输入记录中的所有值。 +3列指针控件将指针移过分数值,以便读取LASTNAME和TEAM的值。