Good afternoon,
I am trying to scan a few words and I am having troubles with the scan function. I am having the following data set and I would like to create a new variable with the country name.
| Sal_Plan_Descr |
| Angola Salary Structure |
| Armenia Salary Structure |
| Benin Salary Structure |
| Burkina Faso Salary Structure |
I would like to get
| Country | Sal_Plan_Descr |
| Angola | Angola Salary Structure |
| Armenia | Armenia Salary Structure |
| Benin | Benin Salary Structure |
| Burkina Faso | Burkina Faso Salary Structure |
Since Burkina Faso has two words, I used the following scan function: Country=scan(Sal_Plan_Descr, 1, 'Salary'); so that I get the entire name of the country. However, I get this:
| Country | Sal_Plan_Descr |
| Angola | Angola Salary Structure |
| A | Armenia Salary Structure |
| B | Benin Salary Structure |
| B | Burkina Faso Salary Structure |
Do you know why the scan function does not cooperate?
Thanks!
The third argument to the SCAN function is a list of characters that may separate words. It is not a word to search for.
Try
Country= substr(Sal_Plan_Descr, 1, findw(Sal_Plan_Descr, 'Salary') - 1);
instead.
PG
The third argument to the SCAN function is a list of characters that may separate words. It is not a word to search for.
Try
Country= substr(Sal_Plan_Descr, 1, findw(Sal_Plan_Descr, 'Salary') - 1);
instead.
PG
It worked!
Thank you ![]()
tranwrd(x,'Salary Structure','');
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 save with the early bird rate—just $795!
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.