Help using Base SAS procedures

Can we label variables when we do select * in proc sql?

Reply
Contributor gsk
Contributor
Posts: 25

Can we label variables when we do select * in proc sql?

For instance, after a variable, we can put label = '~' to label a variable. Can we label variables with * instead of typing out all the variables and putting label = ' ~~ '  next to each?

 

PROC SQL;
Title 'a) All Rows and Columns Without Labels';
   SELECT *   <- After putting SELECT * instead of listing all the variables: is there an easier way to label each variable? 
   FROM directory.dataset;

QUIT; 

Super User
Posts: 23,788

Re: Can we label variables when we do select * in proc sql?

No, I don’t think you can, for starters how would the compiler know which variables to label. 

 

If you have a data set with the mapping of variables to labels you can do an automated labelling process. 

 

If you’re using * because you’re too lazy to list them all, a perfectly valid reason, use the FEEDBACK option in the PROC SQL statement and check the log. It will have the full code with appropriate alias and you can modify it as necessary. 

 

You can also add labels after the fact using PROC DATASETS. 

Super User
Super User
Posts: 9,617

Re: Can we label variables when we do select * in proc sql?

No, you can't label variables when selecting all.  Its rarely a good idea to use the * anyways, it can cause issues, and will definately make you sql take longer to run and use more disk space.  I would always use explicit definitions of what you want to select, from where, and what specific data, not only does this make the code nice an transparent, but as quick as it can be.

Ask a Question
Discussion stats
  • 2 replies
  • 196 views
  • 3 likes
  • 3 in conversation