Hi,
How can I replace following PROC SQL code using data step code?
PROC SQL;
select division, category, sum(salary) as total_salary from tbl_salary
group by division, category;
quit;
Thanks!
Julia
Julia,
It takes a lot less code with proc sql but, since you asked, I think that the following will do the same thing. I added an extra field, namely employee_id (emp_id) to indicate that you would have to drop any additional fields if you want the output to be the same.
proc sort data=tbl_salary;
by division category;
run;
data divsalary;
set tbl_salary (drop=em_id);
by division category;
if first.category then total_salary =0;
total_salary+salary;
if last.category then output;
run;
proc print data=divsalary;
run;
:
Julia,
It takes a lot less code with proc sql but, since you asked, I think that the following will do the same thing. I added an extra field, namely employee_id (emp_id) to indicate that you would have to drop any additional fields if you want the output to be the same.
proc sort data=tbl_salary;
by division category;
run;
data divsalary;
set tbl_salary (drop=em_id);
by division category;
if first.category then total_salary =0;
total_salary+salary;
if last.category then output;
run;
proc print data=divsalary;
run;
:
Much appreciated.
Julia
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.