2016-03-24 93 views
0

我必須將格式更改爲SAS表格中的單個單元格。也就是說,單元格所在的列的格式爲best12.,但在單元格中給定了日期,因此我想使用YYMMDD10.如何將格式更改爲SAS表格中的單個單元格

我該如何解決?

在此先感謝。

+0

不包含日期的單元格中的值是什麼?可以創建自定義格式來執行您想要的操作,但這隻適用於某些情況,例如如果日期值和非日期值之間沒有重疊 – Longfish

回答

0

您只能將FORMAT與整列相關聯。如果您希望混合類型的單元格格式不同,則需要一個將PUT(函數)值放入的字符列。

將不同的格式與列使用關聯。

proc datasets; 
    modify data-set-name; 
    format variables new-format.; 
    run; 
    quit; 
0

下面是如果數據允許,您可以做什麼的示例。假設您的數據中最早的日期是2000年1月1日,那麼SAS中的數字將保存爲14,610(1960年1月1日以來的天數)。因此,如果沒有非日期值超過這個數,那麼你可以通過多達14610格式化所有值best12.實現你的目標,所有值大於該值作爲yymmdd10.

proc format; 
value dtfmt low - 14609 = [best12.] 
       14610 - high = [yymmdd10.] 
; 
run; 

data want; 
input num; 
format num dtfmt.; 
datalines; 
10 
20 
20514 
30 
; 
run; 
0

可以在IF條件檢查申請SUBSTR()第一個字符並相應地格式化您的變量。使用INPUT()PUT()

相關問題