Online File
Rick Aster: Professional SAS Programming Shortcuts: Contents
PROC SQL; CREATE TABLE WORK.DATASIZE AS SELECT TRIM(LIBNAME) || '.' || MEMNAME AS DATASET LABEL='SAS Dataset Name' LENGTH=20, LIBNAME AS LIBREF LABEL='Libref', MEMNAME AS MEMBER LABEL='Member', NVAR LABEL='N Vars', NOBS LABEL='N Obs', OBSLEN LABEL='Obs Len', NOBS*OBSLEN/1048576 AS MBDATA LABEL='MB Data' FORMAT=S7.3, COMPRESS LABEL='Compress', PCOMPRESS LABEL='Comp%' FORMAT=F5., (1 - PCOMPRESS/100)*(CALCULATED MBDATA) AS MBCOMP LABEL='MB Comp' FORMAT=S7.3 FROM DICTIONARY.TABLES; QUIT; PROC REPORT DATA=WORK.DATASIZE (WHERE=(LIBREF='MAIN')) NOWD HEADSKIP COLWIDTH=7; COLUMN DATASET NVAR NOBS MBDATA MBCOMP COMPRESS SAVE PERCENT; DEFINE NVAR / DISPLAY SPACING=0; DEFINE NOBS / DISPLAY SPACING=1; DEFINE DATASET / ORDER SPACING=0; DEFINE SAVE / ' Saved' COMPUTED SPACING=0 FORMAT=S7.3; DEFINE PERCENT / ' %' COMPUTED SPACING=0 FORMAT=F4.; RBREAK AFTER / OL SUMMARIZE; COMPUTE SAVE; SAVE = MBDATA.SUM - MBCOMP.SUM; ENDCOMP; COMPUTE PERCENT; IF MBDATA.SUM THEN PERCENT = SAVE/MBDATA.SUM*100; ENDCOMP; RUN;