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','');
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.