DATA Step, Macro, Functions and more

Removing columns from SAS dataset using regular expression or pattern

Reply
Occasional Contributor
Posts: 8

Removing columns from SAS dataset using regular expression or pattern

Hi,

 

I have following columns in my sas data set lets say.

some_column1

some_column2

RES_1111

RES_1112

RES_1113

mape_RES_1111

mape_RES_1112

mape_RES_1113

 

if i have to remove all the columns in bold starting with a particular prefix 'RES_'

then how do I delete or remove all the columns starting from 'RES_'

 

any regular expression, LIKE % operator kind of thing in SAS?

Super User
Super User
Posts: 7,401

Re: Removing columns from SAS dataset using regular expression or pattern

Simple, SAS has options for this:

data want;
  set have (drop=res_:);
run;

Note the colon after the prefix, means all with that prefix.  If you had a range of variables, you could do:

data want;
  set have (drop=res_1111--res_1113);
run;

This would remove any variable which has a logical position and including res_1111 and res_1113 in the dataset.

PROC Star
Posts: 551

Re: Removing columns from SAS dataset using regular expression or pattern

Simple example

 

data have;
infile datalines;
input some_column1 RES_1111 RES_1112 mape_RES_1111;
datalines;
1 
2 
3 
4 
;

data want;
	set have;
	drop res_:;
run;
Ask a Question
Discussion stats
  • 2 replies
  • 98 views
  • 0 likes
  • 3 in conversation