## Data segregation based on condition

Solved
Occasional Contributor
Posts: 11

# Data segregation based on condition

I want to segregate the data into 5 datasets in following way. dataset1- All the data where type variable is numeric dataset2 - All the data where type variable is capital letter dataset3- All the data where type variable is small letter dataset4- All the data where type variable is both capital and small but starts with capital letter. dataset5- All the data where type variable is both capital and small but starts with small letter.

Accepted Solutions
Solution
‎05-13-2018 02:58 AM
Super User
Posts: 2,061

## Re: Data segregation based on condition

``````data test2;
input type\$ desp\$;
datalines;
Dj dfg
jD dfg
DD dfg
dd dfg
J jam
v var
g gas
A apple
C cat
h hat
Aj rrr
Aa fff
1 222
2 333
;

data set1 set2 set3 set4 set5;
set test2;
if anydigit(type)>0 and anyalpha(type)=0 then output set1 ;
else if anyalpha(type)>0 and anydigit(type)=0 and  anylower(type)=0 then output set2;
else if anyalpha(type)>0 and anydigit(type)=0 and  anyupper(type)=0 then output set3;
if anyupper(first(type))>0 and anylower(type)>0 then output set4;
else if anylower(first(type))>0 and anyupper(type)>0 then output set5;
run;``````

All Replies
Solution
‎05-13-2018 02:58 AM
Super User
Posts: 2,061

## Re: Data segregation based on condition

``````data test2;
input type\$ desp\$;
datalines;
Dj dfg
jD dfg
DD dfg
dd dfg
J jam
v var
g gas
A apple
C cat
h hat
Aj rrr
Aa fff
1 222
2 333
;

data set1 set2 set3 set4 set5;
set test2;
if anydigit(type)>0 and anyalpha(type)=0 then output set1 ;
else if anyalpha(type)>0 and anydigit(type)=0 and  anylower(type)=0 then output set2;
else if anyalpha(type)>0 and anydigit(type)=0 and  anyupper(type)=0 then output set3;
if anyupper(first(type))>0 and anylower(type)>0 then output set4;
else if anylower(first(type))>0 and anyupper(type)>0 then output set5;
run;``````
☑ This topic is solved.