1 The SAS System 12:33 Wednesday, October 24, 2018 NOTE: Copyright (c) 2002-2012 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software 9.4 (TS1M3 MBCS3170) Licensed to NATIONAL BUREAU OF ECONOMIC RESEARCH, Site 70111350. NOTE: This session is executing on the Linux 2.6.32-696.18.7.el6.x86_64 (LIN X64) platform. NOTE: Updated analytical products: SAS/STAT 14.1 NOTE: Additional host information: Linux LIN X64 2.6.32-696.18.7.el6.x86_64 #1 SMP Wed Jan 3 19:31:16 CST 2018 x86_64 Scientific Linux release 6.9 (Carbon) You are running SAS 9. Some SAS 8 files will be automatically converted by the V9 engine; others are incompatible. Please see http://support.sas.com/rnd/migration/planning/platform/64bit.html PROC MIGRATE will preserve current SAS file attributes and is recommended for converting all your SAS libraries from any SAS 8 release to SAS 9. For details and examples, please see http://support.sas.com/rnd/migration/index.html This message is contained in the SAS news file, and is presented upon initialization. Edit the file "news" in the "misc/base" directory to display site-specific news and information in the program log. The command line option "-nonews" will prevent this display. NOTE: SAS initialization used: real time 0.06 seconds cpu time 0.00 seconds 1 *options obs=55; 2 options mprint mlogic symbolgen; 3 options nocenter ; 4 *by Jean Roth, jroth@nber.org, 2012-12-12 ; 5 *NOTE: This program is distributed under the GNU GPL. See end of 6 *this file and http://www.gnu.org/licenses/ for details. ; 7 8 %macro loop(FYEAR=,LYEAR=); 9 %let DASH=1984-99; 10 %let UNDERSCORE=1984_99; 11 * The following line should contain the directory 12 where the SAS file is to be stored ; 13 14 *libname library "~/bulk/cost-reports/hospc/&DASH."; 15 libname library "."; 16 17 * The following line should contain 18 the complete path and name of the raw data file. 19 On a PC, use backslashes in paths as in C:\ ; 20 21 %let FILEPATH=/homes/data/hcris/&DASH./hospc_&year._NMRC.CSV; 2 The SAS System 12:33 Wednesday, October 24, 2018 22 %do year=&FYEAR. %to &LYEAR.; 23 proc printto log ="/homes/data/hcris/&DASH./read_hospc_rpt_nmrc&year..log" new; 24 proc printto print="/homes/data/hcris/&DASH./read_hospc_rpt_nmrc&year..lst" new; 25 26 FILENAME datafile "&FILEPATH."; 27 28 * The following line should contain the name of the SAS dataset ; 29 30 %let dataset = hospc_nmrc&UNDERSCORE._&year._long ; 31 32 33 data library.&dataset.; 34 *hospc_dm.* files report lengths; 35 LENGTH rpt_rec_num 5. wksht_cd $7. line_num $5. clmn_num $5. itm_val_num 7. ; 36 * '2C' is hexadecimal for decimal 44 which represents ',' ; 37 * '0D' is hexadecimal for decimal 13 which represents '\r', which is the carriage return character; 38 infile datafile dsd delimiter='2C0D'x ; 39 INPUT 40 41 rpt_rec_num 42 wksht_cd $ 43 line_num $ 44 clmn_num $ 45 itm_val_num 46 47 ; 48 49 proc means data=library.&dataset. n max; 50 title "Inspect maximums: Four bytes retain six significant digits" ; 51 run; 52 proc freq data=library.&dataset.; 53 title "" ; 54 tables wksht_cd clmn_num ; 55 proc freq order=freq data=library.&dataset.; 56 title "Ordered by freq" ; 57 tables wksht_cd clmn_num ; 58 proc sort data=library.&dataset; 59 by wksht_cd; 60 proc freq data=library.&dataset.; 61 title ""; 62 tables line_num; 63 by wksht_cd; 64 65 proc freq data=library.&dataset.; 66 tables clmn_num; 67 by wksht_cd; 68 proc sort data=library.&dataset. nodupkey out=library.uniq_nmrc_&year.; 69 by wksht_cd line_num clmn_num ; 70 71 %end; 72 %mend; 73 *%loop(FYEAR=1999,LYEAR=1999); 74 %loop(FYEAR=1999,LYEAR=2014); MLOGIC(LOOP): Beginning execution. MLOGIC(LOOP): Parameter FYEAR has value 1999 MLOGIC(LOOP): Parameter LYEAR has value 2014 MLOGIC(LOOP): %LET (variable name is DASH) MLOGIC(LOOP): %LET (variable name is UNDERSCORE) 3 The SAS System 12:33 Wednesday, October 24, 2018 MPRINT(LOOP): * The following line should contain the directory where the SAS file is to be stored ; MPRINT(LOOP): *libname library "~/bulk/cost-reports/hospc/&DASH."; MPRINT(LOOP): libname library "."; NOTE: Libref LIBRARY was successfully assigned as follows: Engine: V9 Physical Name: /disk/data3/hcris/1984-99 MPRINT(LOOP): * The following line should contain the complete path and name of the raw data file. On a PC, use backslashes in paths as in C:\ ; MLOGIC(LOOP): %LET (variable name is FILEPATH) SYMBOLGEN: Macro variable DASH resolves to 1984-99 WARNING: Apparent symbolic reference YEAR not resolved. SYMBOLGEN: Macro variable FYEAR resolves to 1999 SYMBOLGEN: Macro variable LYEAR resolves to 2014 MLOGIC(LOOP): %DO loop beginning; index variable YEAR; start value is 1999; stop value is 2014; by value is 1. SYMBOLGEN: Macro variable DASH resolves to 1984-99 SYMBOLGEN: Macro variable YEAR resolves to 1999 MPRINT(LOOP): proc printto log ="/homes/data/hcris/1984-99/read_hospc_rpt_nmrc1999.log" new; NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 2:02.78 cpu time 36.07 seconds