2017-02-22 360 views
0

我正在SAS EGDI中工作,面臨一個非常特殊的問題。刪除SAS數據集中的引號和空格

當我查看SAS DI Studio或EG中的數據集列時,它顯示正常。但是當我將數據粘貼到記事本中時,一些引號和空格出現

其中我看到在EG的數據:當複製到記事本 without spaces

但同樣的數據,

額外的引號和空格都出現這樣的(在第6行):with spaces and quotes

當我將此字段用作連接中的鍵時,發現此問題,第6行的其他相關列值不會輸出,因爲匹配對於第6條記錄而言失敗。

我試過很多東西像tranwrd,dequote和壓縮他們沒有正在改變我的結果。

有人可以幫助理解問題是什麼以及如何解決這個問題。

+0

你是如何複製它的?使用鼠標?從哪裏複製?您是否嘗試將值寫入文本文件並檢查文本文件? – Tom

回答

2

查看列中的內容,以便決定如何處理它。此查詢將顯示字符串和字符串的十六進制表示形式。

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)在字符串中間。

+0

你在@Tom上爆炸。我有'** 0D4C533520334254 **' - 一個CR運行您的查詢。我使用'TRANSLATE(POSTCODE,','0D'x)'將其刪除。課程TRANWRD也可以使用。 非常感謝幫助我瞭解原因。 –