Hi All,
Thank you for looking into this.
Need a quick help. I am using Proc Means, where I need to filter only the variable that have countries listed in (H)..That is I need only afghanistan and china. There are more than 50 countries listed.
ex..Variable Name: bbk_country
Algeria
Afghanistan(H)
China(H)
US
Nigeria
proc means data=Test.Country(where=(bbk_country in ('(H)')));
class bbk_country;
var amount;
run;
Thanks!
IN in SAS is an operator and allows you to search for multiple values. You need to search your string and the appropriate functions for that are FIND/INDEX or LIKE.
Example of IN
where country in ('Afghanistan', 'China');
Example of FIND
where find(country, '(H)')>0;
@Kalai2008 wrote:
Hi All,
Thank you for looking into this.
Need a quick help. I am using Proc Means, where I need to filter only the variable that have countries listed in (H)..That is I need only afghanistan and china. There are more than 50 countries listed.
ex..Variable Name: bbk_country
Algeria
Afghanistan(H)
China(H)
US
Nigeria
proc means data=Test.Country(where=(bbk_country in ('(H)')));
class bbk_country;
var amount;
run;
Thanks!
You may be more limited using the dataset option where than a separate where clause.
You can use functions in a WHERE statement such as:
proc means data=Test.Country ;
where find(bbk_country,'(H)','i')>0;
which would find (H) or (h) with the 'i' option.
You can try like this if you only want to filter countries that are listed with (H)
proc means data=Test.Country(where=(bbk_country like '%(H)'));
class bbk_country;
var amount;
run;
proc means data=Test.Country(where=(bbk_country contains '(H)' ));
IN in SAS is an operator and allows you to search for multiple values. You need to search your string and the appropriate functions for that are FIND/INDEX or LIKE.
Example of IN
where country in ('Afghanistan', 'China');
Example of FIND
where find(country, '(H)')>0;
@Kalai2008 wrote:
Hi All,
Thank you for looking into this.
Need a quick help. I am using Proc Means, where I need to filter only the variable that have countries listed in (H)..That is I need only afghanistan and china. There are more than 50 countries listed.
ex..Variable Name: bbk_country
Algeria
Afghanistan(H)
China(H)
US
Nigeria
proc means data=Test.Country(where=(bbk_country in ('(H)')));
class bbk_country;
var amount;
run;
Thanks!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.