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!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.