Solved
New Contributor
Posts: 3

# how to use data step to calculate summary group by multiple sub groups?

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

Accepted Solutions
Solution
‎10-25-2011 11:12 PM
PROC Star
Posts: 8,169

## how to use data step to calculate summary group by multiple sub groups?

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;

:

All Replies
Solution
‎10-25-2011 11:12 PM
PROC Star
Posts: 8,169

## how to use data step to calculate summary group by multiple sub groups?

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;

:

New Contributor
Posts: 3

## how to use data step to calculate summary group by multiple sub groups?

Much appreciated.

Julia

🔒 This topic is solved and locked.