Hi:
Simplifying your code and using ODS EXCEL, I did not see any issues with the COLUMN headers in Excel:
Here's the fake data from SASHELP.PRDSALE and the simplified code.
data rank_ratio23;
set sashelp.prdsale;
major_market=catx(' ',country,region);
cat=catx(' ',region,division);
tenure2=catx('-',year,quarter);
title_group=catx(' ',division,prodtype);
fa_code=prodtype;
financial_advisor = product;
tenure_pos = int(quarter*13.73);
cutoff=day(month);
deposit_bal = actual*113;
net_deposit=actual*1.133;
deposit_volume = predict*117;
net_deposit= year*actual;
loan_bal=year*predict;
loan_volume=year*predict*3.173;
net_loan=quarter*actual*5.713;
if _n_ le 12 then output;
keep major_market cat
tenure2 title_group fa_code financial_advisor
tenure_pos cutoff
deposit_bal deposit_volume
net_deposit loan_bal loan_volume net_loan;
run;
ods escapechar='^';
ods excel file='c:\temp\testcolumnwidth.xlsx';
proc report data = rank_ratio23 missing
style(header)={background=white color=black}
style(column)={background=white color=black};
columns major_market cat
tenure2 title_group fa_code financial_advisor
tenure_pos cutoff
deposit_bal deposit_volume
net_deposit loan_bal loan_volume net_loan;
define major_market / group 'Major Market' order=data noprint
style(column)=[just=left ] ;
define cat / "Category" order=data group
style(column)=[just=left width=1.25in];
define tenure2 /'Tenure^nCategory^n(Years)' group
style(column)=[just=left ] ;
define title_group /'Title^nGroup'
style(column)=[just=left width=2in];
define fa_code / display'FA';
define financial_advisor/'Financial Advisor'
style(column)=[just=left ];
define tenure_pos/'Tenure^n(Years)' mean f=comma10.1 ;
define cutoff/'Cutoff^nRating' display
style(column)=[fontweight=bold just=left ];
define deposit_bal/"Deposit^nBalance (000s)" f=comma15. ;
define deposit_volume/"Deposit^nVolume (000s)" f=comma15. ;
define net_deposit/"Deposit^nTransfers (000s)" f=comma15. ;
define loan_bal /"Loan^nBalance (000s)" f=comma15. ;
define loan_volume/"Loan^nVolume (000s)" f=comma15. ;
define net_loan/"Loan^nTransfers (000s)" f=comma15. ;
compute after tenure2 ;
line ' ';
endcomp;
run;
ods excel close;
I took out your COMPUTE blocks and your NOPRINT items because they were not impacting the headers.
Cynthia
... View more