BookmarkSubscribeRSS Feed
1162
Calcite | Level 5
I'm creating a report using PROC REPORT. One of the report items is an ACROSS variable. I would like to format the report data for that variable, but I can't seem to figure out how. Using format in the DEFINE statement formats the variable itself, but not the resulting count data. Here's a very basic example:

[pre]
data tmp;
input category :$1. @@;
cards;
A B C A B A A
;
run;

proc report data=tmp nowindows;
columns category;
define category / across;
run;
[/pre]

For column 'A', the result is 4, but I'd like it to be formatted as 4.0. I tried adding 'format=8.1' to the DEFINE statement, but that doesn't work.
2 REPLIES 2
Cynthia_sas
Diamond | Level 26
Hi:
If you explicitly add N to the report layout, then you can format it.
cynthia
[pre]
ods html file='c:\temp\use_n.html' style=sasweb;
proc report data=tmp nowindows;
columns ('Category' category),n;
define category / across ' ';
define n / f=8.1 ' ';
run;
ods html close;

[/pre]
1162
Calcite | Level 5
Worked perfectly. Thanks.

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!

Register now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1189 views
  • 0 likes
  • 2 in conversation