Is it possible to tell SAS to format a numeric value in dollar format without having to specify the w? Sometimes all I want to make sure is to limit the decimal points. If the format is for a cumulative variable (e.g. total payments from a large number of customers), I'm hoping to avoid the trouble of estimating how large the total will be to make sure dollar w.d has enough width.
If you just used the format (for the AMOUNT variable) like this:
format amount dollar.;
You'd probably see this note in the SAS log:
NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST"
This might result in something like 'E' notation or scientific notation (1.23E8) being used. However, there's no problem in just specifying a large width. Only the LISTING destination uses the WIDTH for the output. ODS destinations just use the widest column for output reports. Consider the program below.
input name $ amount;
ods listing close;
ods html file='c:\temp\usebigdollar.html' style=sasweb;
proc print data=numbers;
title 'Note that the table cell for amount does not use the "extra" width of the format';
var name amount;
format amount dollar24.;
ods html close;