BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
petlove
Obsidian | Level 7

Hi all,

 

I am trying to label all variables to new label which will have variable name and its label.

 

e.g. Current label of AETERM is "Reported Term for the Adverse Event". I am trying to re-label it to "AETERM Reported Term for the Adverse Event".

 

can we do this by call execute?

 

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

@petlove wrote:

Hi all,

 

I am trying to label all variables to new label which will have variable name and its label.

 

e.g. Current label of AETERM is "Reported Term for the Adverse Event". I am trying to re-label it to "AETERM Reported Term for the Adverse Event".

 

can we do this by call execute?

 

Thank you.


 

 

Yes you can, use PROC DATASETS and feed the labels in.

 

*Create label data set;
data label_data_set;
length name label $25.;
name="Sex"; label="Gender"; output;
name="height"; label="Height (in)"; output;
name="weight"; label="Weight (lbs)"; output;
run;
 
 
*Create sample dataset to apply label;
data class;
set sashelp.class;
run;
 
 
*Create macro variable that holds label statement;
proc sql noprint;
select catx("=", name, quote(trim(label)))
  into :label_list separated by " "
from label_data_set;
quit;
 
 
*Display macro variable in log;
%put &label_list.;
 
 
*Apply labels without recreating dataset;
proc datasets library=work;
modify class;
label &label_list.;
run;quit;
 
 
*Print the dataset to display new labels;
proc print data=class label noobs;
run;

View solution in original post

3 REPLIES 3
PeterClemmensen
Tourmaline | Level 20

I think you are looking for something like in this example

 

http://support.sas.com/kb/24/664.html

 

 

Reeza
Super User

@petlove wrote:

Hi all,

 

I am trying to label all variables to new label which will have variable name and its label.

 

e.g. Current label of AETERM is "Reported Term for the Adverse Event". I am trying to re-label it to "AETERM Reported Term for the Adverse Event".

 

can we do this by call execute?

 

Thank you.


 

 

Yes you can, use PROC DATASETS and feed the labels in.

 

*Create label data set;
data label_data_set;
length name label $25.;
name="Sex"; label="Gender"; output;
name="height"; label="Height (in)"; output;
name="weight"; label="Weight (lbs)"; output;
run;
 
 
*Create sample dataset to apply label;
data class;
set sashelp.class;
run;
 
 
*Create macro variable that holds label statement;
proc sql noprint;
select catx("=", name, quote(trim(label)))
  into :label_list separated by " "
from label_data_set;
quit;
 
 
*Display macro variable in log;
%put &label_list.;
 
 
*Apply labels without recreating dataset;
proc datasets library=work;
modify class;
label &label_list.;
run;quit;
 
 
*Print the dataset to display new labels;
proc print data=class label noobs;
run;
petlove
Obsidian | Level 7

Thank you Reeza...

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for 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
  • 3 replies
  • 8341 views
  • 2 likes
  • 3 in conversation