2017-02-03 17 views
0

난주가있는 표가 생성되므로 20161107과 같이 yyyymmdd 형식의 열을 지정해야합니다. 이 열에 쉼표 형식을 적용하여 개수를 표시해야하지만 형식도 열 이름에 적용되므로 2016110720,161,107이됩니다. 다음은 오류를 보여줍니다 예제 코드는 다음과 같습니다 나는 " 20161107 " 같은 공백으로 표시 이름을 패딩하여이 오류를 해결할 수 있지만이 이름을 하드 코딩 아니에요, 그래서 시도하고 싶습니다처럼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; 

같습니다 가능한 경우 먼저 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에서 전체 목록과 좋은 설명을 볼 수 있습니다.