BookmarkSubscribeRSS Feed
mflore
Calcite | Level 5
I am trying to create a permanent format with the goal of changing how skipped values are displayed in Proc Print. The character variable "Reason" is currently coded as ".SK" for skipped values. I would like them to display as "Skipped" when printed. Here is my code:

proc format library = MyFmt;
value $ReasonFmt
'.SK' = 'Skipped';
run;

proc print data = Data1;
var Reason;
format Reason $ReasonFmt.;
run;

The problem is that non-skipped values (e.g. "No applicable insurance" and "Patient transferred care") get truncated to 3 characters (e.g. "No " and "Pat"). Is there a way to change the display of ".SK" while maintaining the way all other values are printed?

Thanks for your help.
1 REPLY 1
ballardw
Super User
The default length of a format is the length of the longest formatted value.

You need to specify a DEFAULT= in the value statement:

value $ReasonFmt (default=15)

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1 reply
  • 1465 views
  • 0 likes
  • 2 in conversation