1

我在SAS EGDI工作,面临一个非常特殊的问题。

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

我在 EG 中看到的数据: 没有空格

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

额外的引号和空格看起来像这样(在第 6 行):带空格和引号

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

我尝试了很多东西,比如tranwrd、dequote 和 compress,但它们都没有改变我的结果。

有人可以帮助了解问题所在以及如何解决。

4

1 回答 1

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' 这意味着你在字符串的开头有一个换行符。或者,字符串中间有一个制表符('09'X),而不是空格('20'X)。

于 2017-02-22T17:04:01.313 回答