SAS: запретить отчету о процедуре применять формат запятой для отображения заголовка заголовка

Я создаю таблицы со скользящими данными за недели, поэтому мои столбцы должны быть названы в формате yyyymmdd, например 20161107. Мне нужно применить формат запятой к этим столбцам, чтобы отобразить количество, но формат также применяется к имени столбца, поэтому 20161107 превращается в 20,161,107. Ниже приведен пример кода, который показывает ошибку:

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, если это возможно. Любое понимание?


person kstats9pt3    schedule 03.02.2017    source источник


Ответы (1)


Вы должны указать SAS применить этот стиль только к столбцу, а затем:

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

Тогда он должен работать так, как вы ожидаете.

Стили в PROC REPORT обычно имеют несколько вещей, к которым они могут применяться, и если вы не укажете, к каким из них они применимы ко всем. style(header), style(report) и т. д. — все варианты. Вы можете увидеть полный список вместе с хорошим пояснением в документе SAS Использование элементов стиля в процедурах REPORT и TABULATE.

person Joe    schedule 03.02.2017