Hi
I am new to SAS. Plz help me out in reading this raw data
John $20,000 Microsoft
$30,000 George Oracle
SAS Daniel $50,000
Sam IBM $60,000
Plz explain how we are supposed to read this data, what is the final result you'd like to get?
Thanks PaigeMiller
The final result should be
--------------------------------------------------------
Employee Name Salary Company
---------------------------------------------------------
John $20,000 Microsoft
George $30,000 Oracle
Daniel $50,000 SAS
Sam $60,000 IBM
Are they really out of order like that? How can tell what's a company name and what's a person?
Here is a piece of code that will get what you want, but it obviously needs to be more generalized:
data in;
input temp_name $ temp_salary $ temp_company $10.;
cards;
John $20,000 Microsoft
$30,000 George Oracle
SAS Daniel $50,000
Sam IBM $60,000
;
data want;
length company salary name $10.;
set in; * your data set example;
if substr(temp_name, 1, 1) = "$" then salary = temp_name;
else if substr(temp_company, 1, 1) = "$" then salary = temp_company;
else if substr(temp_salary, 1, 1) = "$" then salary = temp_salary;
if scan(temp_name, 1, " ") in ("IBM", "SAS", "Oracle", "Microsoft") then company = temp_name;
else if scan(temp_company, 1, " ") in ("IBM", "SAS", "Oracle", "Microsoft") then company = temp_company;
else if scan(temp_salary, 1, " ") in ("IBM", "SAS", "Oracle", "Microsoft") then company = temp_salary;
if substr(temp_name, 1, 1) ne "$" &
scan(temp_name, 1, " ") not in ("IBM", "SAS", "Oracle", "Microsoft") then name = temp_name;
else if substr(temp_company, 1, 1) ne "$" &
scan(temp_company, 1, " ") not in ("IBM", "SAS", "Oracle", "Microsoft") then name = temp_company;
else if substr(temp_salary, 1, 1) ne "$" &
scan(temp_salary, 1, " ") not in ("IBM", "SAS", "Oracle", "Microsoft") then name = temp_salary;
run;
The experts will hopefully use this (poorly written) code and make it awesome!
Good luck!
Anca.
Considering that I have had data with IBM spelled about 18 different ways, I'm wondering if we've actually seen the full scope of this question.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.