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','');
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.