删除SAS数据集中的引号和空格

时间:2017-02-22 16:33:32

标签: sas enterprise-guide sas-dis

我在 SAS EG DI 工作,面临一个非常奇怪的问题。

当我在SAS DI Studio或EG中查看数据集的列时,它看起来很好。但是当我将数据粘贴到记事本中时,会出现一些引号和空格

我在EG看到的数据: without spaces

但复制到记事本时的数据相同,

额外的引号和空格如下所示(第6行):with spaces and quotes

当我将此字段用作连接中的键时,我发现此问题,第6行的其他相关列值未进入输出,因为该第6条记录的匹配失败。

我尝试过很多东西,比如 tranwrd,dequote和compress 但是 none 正在改变我的结果。

有人可以帮助理解问题是什么以及如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

查看列中的内容,以便您可以决定如何处理它。此查询将显示字符串和字符串的十六进制表示。

proc sql;
  select postcode,put(trim(postcode),$hex.) as hexcode,count(*) as nobs
    from x
    group by 1,2
  ;
quit;

因此,如果你看到像0A,0D,A0,08或其他不可打印代码的十六进制字符,那么你就可以弄清楚发生了什么。

所以你可能会发现你有POSTCODE =' LS5 3BT'用HEXCODE =' 4C533520334254'对于大多数记录。但也许有一些看起来像POSTCODE =' LS5 3BT'但是HEXCODE的值类似于' 0A4C533520334254'这意味着你在字符串的开头有一个换行符。或者也许不是空格(' 20' X)你在字符串的中间有一个标签(' 09' X)。