2017-02-03 77 views
0

我使用滾動週數據生成表格,所以我的列必須以yyyymmdd格式命名,如20161107。我需要對這些列應用逗號格式以顯示計數,但格式也適用於列名,因此20161107變爲20,161,107。下面是示例代碼,顯示錯誤:SAS:防止proc報告應用逗號格式顯示標題標題

data fish; set sashelp.fish; 
    TEST = WIDTH*1000; 
run; 

ods tagsets.excelxp file = "C:\User\Desktop\test.xls" style=minimal 
    options(embedded_titles="yes" autofit_height="yes" autofilter="all"); 

proc report data = fish spanrows nowd &header_style.; 
    column SPECIES TEST; 
    define SPECIES/display; 
    define TEST/display "20161107" 
     f=comma12. style={tagattr='format:###,###,###'}; /* ERROR OCCURS WITH THIS STYLE */ 
    title1 bold "sashelp.fish title"; 
run; title1; 

ods tagsets.excelxp close; 

它看起來像我可以通過像" 20161107 "填充空格顯示名稱修正這個錯誤,但我沒有硬編碼這些名字,所以我想嘗試如果可能,請先將其修復爲proc report語法。任何見解?

回答

0

你應該告訴SAS到風格只適用於列,則:

define TEST/display "20161107" 
    f=comma12. style(column)={tagattr='format:###,###,###'}; 

然後,你期望它應該工作。

PROC REPORT中的樣式通常有多種可適用的內容,並且您沒有指定它們適用於所有內容。 style(header),style(report)等都是選項 - 您可以在SAS論文Using Style Elements in the REPORT and TABULATE procedures中看到完整列表以及一個很好的解釋。