Hello,
I have a very large data set with many variables with different names and labels (more than 300 hundred of them), I also have a excel file with variable names and descriptions (which I want use as labels). I'm able to import these into new sas data set (let's call it label data set), so I have sas data set with variable names and their labels. How could I code a macro which would use this label data set to assign labels for variables in my large data set?
Thanks
Create a macro variable using proc sql that is of the form
Variable_Name1 = "Variable Label1"
Variable_Name2 = "Variable Label2"
Here's an example:
*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;
Thank you very much!!! It worked
if you encounter the limitation of Macro variable's Length , consider using CALL EXECUTE () .
@Ksharp Would you mind showing it using CALL EXECUTE?
OK. Here is my example . written by me,Matt and Arthur.T.
http://support.sas.com/resources/papers/proceedings15/2785-2015.pdf
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.