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

Dear SAS communities

 

I can use hx_: to pick out all the variables with names starting with "hx_"

 

but is there a way to pick out all the variables with names that end with some specific text?  for example: I want to pick out all the variables "diabetes_year", "ami_year", "menopause_year" by using "_year", is there such code?

 

thanks

Raymond

 

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

Not directly.  A lazy way is to specify all numeric variables and store your results in a table. Then you can filter the results easily using the code from @art297 to filter the results. 

 

If you want to limit the results before hand you can use the solution from @Tom

View solution in original post

3 REPLIES 3
art297
Opal | Level 21

You'd have to show where you are doing the task but, more than likely, you can use the reverse function, e.g.,

if reverse(varname) =: 'reay_'; 

Art, CEO, AnalystFinder.com

Tom
Super User Tom
Super User

There is no way to do specify a variable list based on the ending of the name.

You could build a list of names by querying the metadata of the data source.

proc contents data=have noprint out=contents; run;
proc sql noprint;
%let varlist=;
select varnum,name
  into :dummy,:varlist separated by ' '
  from contents
  where upcase(name) like '%^_YEAR' escape '^'
  order by varnum
;
quit;
data want ;
  set have ;
  max_year_value = max(of . &varlist );
run;
Reeza
Super User

Not directly.  A lazy way is to specify all numeric variables and store your results in a table. Then you can filter the results easily using the code from @art297 to filter the results. 

 

If you want to limit the results before hand you can use the solution from @Tom

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
  • 982 views
  • 1 like
  • 4 in conversation