%let job=Analyst; /*1*/ data work.staff; /*2*/ keep employeeID jobtitle salary; set certadv.staff; where jobtitle contains "&job"; /*3*/ total+salary; count+1; call symputx('avg',put(total/count,dollar9.)); /*4*/ run; title "&job Staff"; /*5*/ footnote "Average Salary: &avg"; /*6*/ proc print data=work.staff; sum salary; run;
1 | The %LET statement creates the
macro variable Job and assigns the value of Analyst . |
2 | The DATA step creates a temporary SAS data set Work.Staff. Work.Staff that contains only the variables that are defined in the KEEP statement and reads in Certadv.Staff with only those variables. |
3 | The WHERE statement subsets the Work.Staff data set by the including those rows where the value of JobTitle equals the value of the macro variable Job. |
4 | The CALL SYMPUTX routine creates a new macro variable named Avg. The macro variable’s value is the value of Total divided by the value of Count. It also formats the value of Avg to DOLLAR9. |
5 | The TITLE statement references the Job macro variable where the value is included in the title of the report. |
6 | The FOOTNOTE statement references the Avg macro variable where the value is included in the footnote of the report. |
3.12.161.102