Help using Base SAS procedures

insert a sum row in PROC TABULATE

Accepted Solution Solved
Reply
Super Contributor
Posts: 279
Accepted Solution

insert a sum row in PROC TABULATE

I want to amend my code so that there is a row after each school that sums the N count for grades 6, 7 and 8 and calculates the percent before going to the next school.  Below is a partial output and my code.

 

proc tabulate data=one;

by schlevel;

class efagrade school;

class ela /preloadfmt;

tables school='SCHOOL'*efagrade='GRADE' all='TOTAL', ela='PERFORMANCE LEVEL'*(n*f=6.0 pctn<ela>='PCT'*f=6.0)

all='TOTAL'*(n*f=6.0)/rts=25 misstext='0' printmiss;

format ela scready.;

run;

 

 

PERFORMANCE LEVEL

TOTAL

Does Not Meet

Approaches

Meets

Exceeds

N

PCT

N

PCT

N

PCT

N

PCT

N

SCHOOL

GRADE

55

22

105

42

71

28

22

9

253

School A

06

07

56

22

91

36

65

25

44

17

256

08

56

22

79

31

82

32

41

16

258

School B

06

2

7

16

59

9

33

0

0

27

07

10

23

23

53

9

21

1

2

43

08

8

24

15

44

9

26

2

6

34


Accepted Solutions
Solution
‎09-01-2016 12:57 PM
Super User
Posts: 11,343

Re: insert a sum row in PROC TABULATE

This should do:

proc tabulate data=one;
   by schlevel;
   class efagrade school;
   class ela /preloadfmt;
   tables school='SCHOOL' *(efagrade='GRADE' all='School Total') all='TOTAL', 
          ela='PERFORMANCE LEVEL'*(n*f=6.0 pctn<ela>='PCT'*f=6.0)
             all='TOTAL'*(n*f=6.0)
          /rts=25 misstext='0' printmiss
   ;
   format ela scready.;
run;

Note that schools with only one grade will basically have a duplicate row for that single grade.

 

View solution in original post


All Replies
Solution
‎09-01-2016 12:57 PM
Super User
Posts: 11,343

Re: insert a sum row in PROC TABULATE

This should do:

proc tabulate data=one;
   by schlevel;
   class efagrade school;
   class ela /preloadfmt;
   tables school='SCHOOL' *(efagrade='GRADE' all='School Total') all='TOTAL', 
          ela='PERFORMANCE LEVEL'*(n*f=6.0 pctn<ela>='PCT'*f=6.0)
             all='TOTAL'*(n*f=6.0)
          /rts=25 misstext='0' printmiss
   ;
   format ela scready.;
run;

Note that schools with only one grade will basically have a duplicate row for that single grade.

 

Super Contributor
Posts: 279

Re: insert a sum row in PROC TABULATE

Beautiful.  Thanks!

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 290 views
  • 0 likes
  • 2 in conversation