Create the user-defined formats and the data set. The FORMAT procedure creates two user-defined formats that can be used in the crosstabulation template. The DATA step creates the Gov data set.
Proc Format; Value Govtfmt -3='Council Manager' 0='Commission' 3='Mayor Council' .N='Not Applicable' .=' ?'; Value Robfmt 1='100 or Less' 2='101-200' 3='201-300' 4='Over 300' .N='Not Known' .=' ?'; Value colfg 1='yellow' 2='red' 3='blue' 4='purple' .N='green' .='black' other='black'; Value rowfg -3='red' 0='purple' 3='blue' .N='green' .='black' other='black'; run; data gov; Label Citygovt='City Government Form' Robgrp='Number of Meetings Scheduled'; Input Citygovt Robgrp Weight; Missing N; Format Citygovt Govtfmt. Robgrp Robfmt.; LOOP: OUTPUT; WEIGHT=WEIGHT-1; IF WEIGHT>0 THEN GOTO LOOP; DROP WEIGHT; datalines; 0 1 6 0 3 3 0 2 7 0 4 5 N N 10 -3 1 47 -3 3 49 -3 2 63 -3 4 52 . 2 1 3 1 31 3 2 37 3 3 27 3 4 55 3 . 1 ;