02-07-2015 10:50 AM
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?
02-07-2015 11:24 AM
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;
length name label $25.;
name="Sex"; label="Gender"; output;
name="height"; label="Height (in)"; output;
name="weight"; label="Weight (lbs)"; output;
*Create sample dataset to apply label;
*Create macro variable that holds label statement;
proc sql noprint;
select catx("=", name, quote(trim(label)))
into :label_list separated by " "
*Display macro variable in log;
*Apply labels without recreating dataset;
proc datasets library=work;
*Print the dataset to display new labels;
proc print data=class label noobs;
10-20-2016 09:35 PM
OK. Here is my example . written by me,Matt and Arthur.T.