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

1 ответ

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

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

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

Стили в PROC REPORT обычно есть несколько вещей, к которым они могут применяться, и если вы не укажете, к каким из них они относятся ко всем. style(header), style(report)и т. д. - все варианты - полный список и хорошее объяснение вы можете увидеть в статье SAS " Использование элементов стиля" в процедурах "ОТЧЕТ" и "ТАБЛИЦА".

Другие вопросы по тегам