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!
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.