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 " Использование элементов стиля" в процедурах "ОТЧЕТ" и "ТАБЛИЦА".