使用dsd修改列表输入

时间:2015-08-05 02:11:35

标签: sas

我正在阅读Language Reference: Concepts;并且它提到我可以使用〜(代字号)来处理在字符值中具有分隔符的字符值。

以下是示例代码

$("#UserDescription").val($("<span></span>").html(UserDescription).text());

我很奇怪为什么如果我评论出infile语句会有问题。

2 个答案:

答案 0 :(得分:1)

您还会删除指定分隔符为逗号的DSD选项。否则预期的分隔符是一个空格。

您不需要波浪号(〜)来正确读取团队变量,但您确实需要它包含引号。

  

DSD(分隔符敏感数据)   指定当数据值括在引号中时,值中的分隔符将被视为字符数据。 DSD选项更改SAS在使用LIST输入时如何处理分隔符,并将默认分隔符设置为逗号。指定DSD时,SAS会将​​两个连续的分隔符视为缺失值,并从字符值中删除引号。

     

交互:使用DELIMITER =或DLMSTR =选项更改分隔符。

     

提示:使用DSD选项和LIST输入读取包含在引号中的字符串中包含分隔符的字符值。 INPUT语句将分隔符视为有效字符,并在存储值之前从字符串中删除引号。 使用波浪号(〜)格式修饰符保留引号。

答案 1 :(得分:0)

~Tilde需要以特殊方式处理字符值中的单引号,双引号和分隔符。此格式修饰符将带引号的字符值中的分隔符作为字符而不是分隔符读取,并在将值写入变量时保留引号。 为什么需要这样做,因为SAS为其自身的功能保留了某些分隔符,即单引号,双引号用于表示字符串,当您希望SAS以不同方式处理这些引号时,您必须使用-Tilde将其明确告知SAS (〜)

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000144370.htm

SAS只能自动将单个空白识别为分隔符,并且无法自动识别为分隔符。您必须明确告知SAS。在你的情况下,你使用了dsd选项,它可以为你做三件事。

(i)默认情况下自动将其作为分隔符。如果你想提供任何其他分隔符,你必须专门告诉SAS然后使用dlm =选项。

(ii)SAS将两个连续的分隔符视为缺失值并从字符值中删除引号

(iii)指定当数据值用引号括起来时,值中的分隔符将被视为字符数据

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000146932.htm