2017-02-03 10 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.

 Смежные вопросы

  • Нет связанных вопросов^_^