Online File
Rick Aster: Professional SAS Programming Shortcuts: Contents
PROC REPORT DATA=WORK.VOLCANO NOWD SPACING=3 HEADLINE;
COLUMN NAME ('- Location -' LATITUDE LATX LONGITUDE LONGX)
('Elevation' ELEVATION ELEVATIONFT);
DEFINE NAME / 'Volcano' ORDER WIDTH=22 LEFT SPACING=5;
DEFINE LATITUDE / NOPRINT DISPLAY FORMAT=8.2;
DEFINE LATX / 'Latitude' COMPUTED WIDTH=9 RIGHT;
DEFINE LONGITUDE / NOPRINT DISPLAY FORMAT=9.2;
DEFINE LONGX / 'Longitude' COMPUTED WIDTH=9 RIGHT SPACING=2;
DEFINE ELEVATION / '(meters)' MEAN FORMAT=COMMA8.;
DEFINE ELEVATIONFT / '(feet)' COMPUTED FORMAT=COMMA8. SPACING=0;
COMPUTE LATX / CHARACTER LENGTH=9;
IF LATITUDE > .Z THEN DO;
LATX = PUT(ABS(LATITUDE), F6.2);
IF LATITUDE > 0 THEN SUBSTR(LATX, 8) = 'N.';
ELSE IF LATITUDE < 0 THEN SUBSTR(LATX, 8) = 'S.';
END;
ENDCOMP;
COMPUTE LONGX / CHARACTER LENGTH=9;
IF LONGITUDE > .Z THEN DO;
LONGX = PUT(ABS(LONGITUDE), F6.2);
IF LONGITUDE > 0 THEN SUBSTR(LONGX, 8) = 'E.';
ELSE IF LONGITUDE < 0 THEN SUBSTR(LONGX, 8) = 'W.';
END;
ENDCOMP;
COMPUTE ELEVATIONFT;
ELEVATIONFT = ELEVATION.MEAN/.3048;
ENDCOMP;
RBREAK AFTER / SUMMARIZE OL;
RUN;