SAS:防止过程报告应用逗号格式显示标题

SAS:防止过程报告应用逗号格式显示标题,sas,format,report,ods,Sas,Format,Report,Ods,我正在生成包含连续数周数据的表,因此我的列必须以yyyymmdd格式命名,如20161107。我需要对这些列应用逗号格式来显示计数,但该格式也将应用于列名,因此20161107将变为20161107。下面是显示错误的示例代码: data fish; set sashelp.fish; TEST = WIDTH*1000; run; ods tagsets.excelxp file = "C:\User\Desktop\test.xls" style=minimal optio

我正在生成包含连续数周数据的表,因此我的列必须以
yyyymmdd
格式命名,如
20161107
。我需要对这些列应用逗号格式来显示计数,但该格式也将应用于列名,因此
20161107
将变为
20161107
。下面是显示错误的示例代码:

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”
)来修复此错误,但我并没有对这些名称进行硬编码,因此如果可能的话,我想先尝试在
过程报告
语法中修复它。有什么见解吗

您应该告诉SAS仅将该样式应用于列,然后:

define TEST / display "20161107" 
    f=comma12. style(column)={tagattr='format:###,###,###'}; 
那么它应该像你期望的那样工作

PROC REPORT
中的样式通常有多个可以应用的对象,如果您没有指定它们应用于所有对象的话<代码>样式(标题),
样式(报告)
等都是选项-您可以在SAS文章中看到完整的列表以及一个很好的解释