2013-10-31 199 views
0

我已經在sas中創建了一個表並希望導出爲CSV,但我面臨的一個問題是,當我導出到csv時,10-20的年齡值將變爲OCT-20。我想看到它就像sas table一樣。我該怎麼做。將sas表導出爲CSV

ID Age Value 
    1 0-10 3154 
    2 35-45 0 
    3 10-20 9527 
    4 10-20 3856 
    5 20-35 8111 
    6 0-10 105 
    7 10-20 5500 
    8 10-20 5500 
    9 0-10 1918 
    10 0-10 2819 


PROC EXPORT DATA=FORECAST 
    OUTFILE='\\pwc-storage\BP&D\IMP_OUT\FORECAST.CSV' 
    DBMS=csv REPLACE; 
RUN; 

CSV出來把

ID Age Value 
1 0-10 3154 
2 0-10 0 
3 Oct-20 9527 
4 Oct-20 3856 
5 20-35 8111 
6 0-10 105 
7 Oct-20 5500 
8 Oct-20 5500 
9 0-10 1918 
10 0-10 2819 
+0

您的意思是在Excel中打開「變成OCT-20」,對不對? – vasja

+0

是的,當打開CSV我看到OCT-20,它會變得日期格式 – user2784588

+0

如果你打開記事本中的CSV? – JT85

回答

4

這是由Excel導致試圖AGE場治療某些值日期。

您應該在Excel中運行導入嚮導以將csv和標記字段AGE導入爲TEXT而不是默認的General選項。

或者,你可以例如創建預測表的頂視圖,以一個單引號添加前綴年齡值,這樣就強制Excel將其視爲文本:

data FORECAT_EXPORT_VIEW/view=FORECAT_EXPORT_VIEW; 
    length AGE $10; 
    set FORECAST; 
    AGE = catt("'", AGE); 
run; 

你對視上運行PROC EXPORT。

+0

是的,它的工作,但長度不正確,它顯示爲'10 -2和'20 -3我試着不同的長度仍然顯示AGE'10 -2在sas本身 – user2784588

+0

請務必在SET語句之前放置LENGTH語句,否則將使用原始長度,這似乎沒有更多的空間用於附加字符(前綴),並且值似乎被截斷('10 -2而不是'10 -20)。 – vasja

+0

我用這個陳述的長度爲10美元;仍然我變得相同'10 -2 – user2784588