SAS Format

SAS Day 19: Format

 

Background: 

In clinical datasets, we usually use some shortcode to keep the data to be concise, meanwhile, we want to generate detailed table labels from the datasets so the output is reader-friendly. For example, in the dataset, we have “F, M“, and we want to show “Female, Male” in output tables.

How do we convert the shortcode from the dataset into the detailed labels in output? 

Problem:

We want to label the Complete Response, Unconfirmed Complete Response, Partial Response, Stable Disease and Disease Progression according to correspondence  AVAL(analysis value) .

There are a couple of methods to achieve this goal, however, what is the most efficient way? 

Alexas_Fotos / Pixabay

Solution:

Method 1. If Clause:

if aval=1 then label="CR ";
if aval=2 then label="CRu";
if aval=3 then label="PR ";

 

Method 2. Format:

proc format;
  value aval 
  1="CR - n(%)"
  2="CRu - n(%)"
  3="PR - n(%)"
  4="SD - n(%)"
  5="PD - n(%)"
  ;

data sample;
set sample;
label="  "||put(aval,aval.);
run;

 

Output:

 

Basic Format Syntax:

proc format;
  value variable
  1="x"
  2="y"
  3="z"
  ;

data all;
set all1;
label= "  "||put(variable,variable.);
run;

 

Summary:

To create a specific label to clearly express the data information to the audience, the “If clause”  is the most straight forward way. The “Format” expression is a more systematical way that could build for repetitive usage. In addition, “Format” is critical in Date expressions.

Happy Studying! 😏

 

 

 

 

 

 

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Social media & sharing icons powered by UltimatelySocial
%d bloggers like this: