Hi, the problem my code is having is that the min_yr and max_yr variables within the macro aren't resolving. Thanks in advance. CODE %let run_dt = %sysfunc(today(), yymmddn.) ;
%let issuer_ids = 80473/25768 ; /*This is used for the status file names.*/
libname wrk "/sasuser/mclevx1/workspace";
libname kb "/sasuser/bailkx4/wrk/edge/dat/med" ;
libname aca_enr "/au/test/aca/dat/enr";
libname ras_repc "/au/test/ras_repc/dat";
/*EDGE SUPP IMPORT*/
%let edg_sup = /sasuser/bailkx4/wrk/edge/dat/sup/ ;
libname edg_sup "&edg_sup." ;
%let edg_med = /au/test/edge/dat/med/ ;
libname edg_med "&edg_med." ;
/* Filenames to import */
DATA fl_nms ;
input fl_nm $30. ;
datalines ;
supp_thrombo
supp_mdaudit
supp_immuno
supp_deact_imo
;
RUN ;
%macro impt(nm) ;
DATA &nm. ;
infile "&edg_sup.&nm..txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ;
informat csr_nbr $9. ;
informat clm_nbr $13. ;
informat dos anydtdte10. ;
informat dx_code $10. ;
informat status $1. ;
format dos mmddyy10. ;
input csr_nbr
clm_nbr
dos
dx_code
status ;
tmp = compress(tranwrd(dx_code,".","")) ; /*Remove periods from dx codes*/
drop dx_code ;
rename tmp = dx_code ;
RUN ;
/* Determine the year range */
PROC SQL noprint ;
select max(min(yrs),2016), max(yrs) /*2014 and 2015 claims will need to be manually reviewed*/
into :min_yr , :max_yr
from
(
select distinct year(dos) as yrs
from &nm.
where not(missing(dos))
) ;
QUIT ;
%do i = &&min_yr. %to &&max_yr. ;
%let _len_j = %eval(%sysfunc(countc(&issuer_ids.,/)) + 1) ;
%do jj = 1 %to &_len_j. ;
%let issuer = %scan(&issuer_ids.,&jj.) ;
proc sql ;
create table tmp_&nm._&i._&issuer. as
select distinct a.*
from &nm. a
inner join kb.edg_med_&i._&issuer. b /*submitted edge data*/
on a.clm_nbr = b.edg_claim_id
where b.au_lst_adj = 'Y' and year(dos) = &i.
order by a.csr_nbr
,a.clm_nbr
,a.dos
,a.dx_code ;
quit ;
/*Prepare data to submit to RADA for FIU*/
DATA edg_sup.&nm._&i._&issuer. (keep = csr_nbr clm_nbr dos dx_code status)
edg_sup.&nm._fiu_&i._&issuer. (keep = region_code mrn dos clm_nbr purpose diagnosis_code rename = (clm_nbr = edg_claim_id) );
SET tmp_&nm._&i._&issuer. ;
region_code = 'WA' ;
mrn = input(csr_nbr,9.) ;
format purpose $5. ;
if status = "A" then do ;
purpose = "ADD" ;
end ;
else purpose = "DELDX" ;
diagnosis_code = dx_code ;
RUN ;
/*Export FIU data file*/
proc export data = edg_sup.&nm._&i._fiu_&issuer.
outfile = "&edg_sup.edge_&nm._&i._fiu_&issuer._&run_dt..txt"
dbms=dlm
replace ;
delimiter="|" ;
run ;
%end ;
%end ;
%mend ;
DATA _null_ ;
SET fl_nms ;
call execute('%impt('||fl_nm||')');
RUN ; LOG NOTE: PROCEDURE PRINTTO used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
2 %let run_dt = %sysfunc(today(), yymmddn.) ;
3 %let issuer_ids = 80473/25768 ; /*This is used for the status file names.*/
4
5 libname wrk "/sasuser/mclevx1/workspace";
NOTE: Libref WRK was successfully assigned as follows:
Engine: V9
Physical Name: /sasuser/mclevx1/workspace
6 libname kb "/sasuser/bailkx4/wrk/edge/dat/med" ;
NOTE: Libref KB was successfully assigned as follows:
Engine: V9
Physical Name: /sasuser/bailkx4/wrk/edge/dat/med
7
8 libname aca_enr "/au/test/aca/dat/enr";
NOTE: Libref ACA_ENR was successfully assigned as follows:
Engine: V9
Physical Name: /au/test/aca/dat/enr
9 libname ras_repc "/au/test/ras_repc/dat";
NOTE: Libref RAS_REPC was successfully assigned as follows:
Engine: V9
Physical Name: /au/test/ras_repc/dat
10
11 /*EDGE SUPP IMPORT*/
12 %let edg_sup = /sasuser/bailkx4/wrk/edge/dat/sup/ ;
13 libname edg_sup "&edg_sup." ;
SYMBOLGEN: Macro variable EDG_SUP resolves to /sasuser/bailkx4/wrk/edge/dat/sup/
NOTE: Libref EDG_SUP was successfully assigned as follows:
Engine: V9
Physical Name: /sasuser/bailkx4/wrk/edge/dat/sup
14
15 %let edg_med = /au/test/edge/dat/med/ ;
16 libname edg_med "&edg_med." ;
SYMBOLGEN: Macro variable EDG_MED resolves to /au/test/edge/dat/med/
NOTE: Libref EDG_MED was successfully assigned as follows:
Engine: V9
Physical Name: /au/test/edge/dat/med
17
18 /* Filenames to import */
19 DATA fl_nms ;
20 input fl_nm $30. ;
21 datalines ;
NOTE: The data set WORK.FL_NMS has 4 observations and 1 variables.
NOTE: Compressing data set WORK.FL_NMS increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
26 ;
27 RUN ;
28 %macro impt(nm) ;
29
30 DATA &nm. ;
31 infile "&edg_sup.&nm..txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ;
32 informat csr_nbr $9. ;
33 informat clm_nbr $13. ;
34 informat dos anydtdte10. ;
35 informat dx_code $10. ;
36 informat status $1. ;
37 format dos mmddyy10. ;
38 input csr_nbr
39 clm_nbr
40 dos
41 dx_code
42 status ;
43 tmp = compress(tranwrd(dx_code,".","")) ; /*Remove periods from dx codes*/
44 drop dx_code ;
45 rename tmp = dx_code ;
46 RUN ;
47
48 /* Determine the year range */
49 PROC SQL noprint ;
50 select max(min(yrs),2016), max(yrs) /*2014 and 2015 claims will need to be manually reviewed*/
51 into :min_yr , :max_yr
52 from
53 (
54 select distinct year(dos) as yrs
55 from &nm.
56 where not(missing(dos))
57 ) ;
58 QUIT ;
59
60 %do i = &&min_yr. %to &&max_yr. ;
61
62 %let _len_j = %eval(%sysfunc(countc(&issuer_ids.,/)) + 1) ;
63
64 %do jj = 1 %to &_len_j. ;
65
66 %let issuer = %scan(&issuer_ids.,&jj.) ;
67
68 proc sql ;
69 create table tmp_&nm._&i._&issuer. as
70 select distinct a.*
71 from &nm. a
72 inner join kb.edg_med_&i._&issuer. b /*submitted edge data*/
73 on a.clm_nbr = b.edg_claim_id
74 where b.au_lst_adj = 'Y' and year(dos) = &i.
75 order by a.csr_nbr
76 ,a.clm_nbr
77 ,a.dos
78 ,a.dx_code ;
79 quit ;
80
81 /*Prepare data to submit to RADA for FIU*/
82 DATA edg_sup.&nm._&i._&issuer. (keep = csr_nbr clm_nbr dos dx_code status)
83 edg_sup.&nm._fiu_&i._&issuer. (keep = region_code mrn dos clm_nbr purpose diagnosis_code rename = (clm_nbr = edg_claim_id) );
84 SET tmp_&nm._&i._&issuer. ;
85
86 region_code = 'WA' ;
87
88 mrn = input(csr_nbr,9.) ;
89
90 format purpose $5. ;
91 if status = "A" then do ;
92 purpose = "ADD" ;
93 end ;
94 else purpose = "DELDX" ;
95
96 diagnosis_code = dx_code ;
97
98 RUN ;
99
100 /*Export FIU data file*/
101 proc export data = edg_sup.&nm._&i._fiu_&issuer.
102 outfile = "&edg_sup.edge_&nm._&i._fiu_&issuer._&run_dt..txt"
103 dbms=dlm
104 replace ;
105 delimiter="|" ;
106 run ;
107
108 %end ;
109
110 %end ;
111
112 %mend ;
113
114 DATA _null_ ;
115 SET fl_nms ;
116 call execute('%impt('||fl_nm||')');
117 RUN ;
NOTE: The macro IMPT is executing from memory.
44 instructions 2432 bytes.
SYMBOLGEN: Macro variable NM resolves to supp_thrombo
MPRINT(IMPT): DATA supp_thrombo ;
SYMBOLGEN: Macro variable EDG_SUP resolves to /sasuser/bailkx4/wrk/edge/dat/sup/
SYMBOLGEN: Macro variable NM resolves to supp_thrombo
MPRINT(IMPT): infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_thrombo.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ;
MPRINT(IMPT): informat csr_nbr $9. ;
MPRINT(IMPT): informat clm_nbr $13. ;
MPRINT(IMPT): informat dos anydtdte10. ;
MPRINT(IMPT): informat dx_code $10. ;
MPRINT(IMPT): informat status $1. ;
MPRINT(IMPT): format dos mmddyy10. ;
MPRINT(IMPT): input csr_nbr clm_nbr dos dx_code status ;
MPRINT(IMPT): tmp = compress(tranwrd(dx_code,".","")) ;
MPRINT(IMPT): drop dx_code ;
MPRINT(IMPT): rename tmp = dx_code ;
MPRINT(IMPT): RUN ;
MPRINT(IMPT): PROC SQL noprint ;
SYMBOLGEN: Macro variable NM resolves to supp_thrombo
MPRINT(IMPT): select max(min(yrs),2016), max(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_thrombo where not(missing(dos)) ) ;
MPRINT(IMPT): QUIT ;
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MIN_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&min_yr.
ERROR: The %FROM value of the %DO I loop is invalid.
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MAX_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&max_yr.
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro IMPT will stop executing.
NOTE: The macro IMPT is executing from memory.
44 instructions 2432 bytes.
SYMBOLGEN: Macro variable NM resolves to supp_mdaudit
MPRINT(IMPT): DATA supp_mdaudit ;
SYMBOLGEN: Macro variable EDG_SUP resolves to /sasuser/bailkx4/wrk/edge/dat/sup/
SYMBOLGEN: Macro variable NM resolves to supp_mdaudit
MPRINT(IMPT): infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_mdaudit.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ;
MPRINT(IMPT): informat csr_nbr $9. ;
MPRINT(IMPT): informat clm_nbr $13. ;
MPRINT(IMPT): informat dos anydtdte10. ;
MPRINT(IMPT): informat dx_code $10. ;
MPRINT(IMPT): informat status $1. ;
MPRINT(IMPT): format dos mmddyy10. ;
MPRINT(IMPT): input csr_nbr clm_nbr dos dx_code status ;
MPRINT(IMPT): tmp = compress(tranwrd(dx_code,".","")) ;
MPRINT(IMPT): drop dx_code ;
MPRINT(IMPT): rename tmp = dx_code ;
MPRINT(IMPT): RUN ;
MPRINT(IMPT): PROC SQL noprint ;
SYMBOLGEN: Macro variable NM resolves to supp_mdaudit
MPRINT(IMPT): select max(min(yrs),2016), max(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_mdaudit where not(missing(dos)) ) ;
MPRINT(IMPT): QUIT ;
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MIN_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&min_yr.
ERROR: The %FROM value of the %DO I loop is invalid.
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MAX_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&max_yr.
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro IMPT will stop executing.
NOTE: The macro IMPT is executing from memory.
44 instructions 2432 bytes.
SYMBOLGEN: Macro variable NM resolves to supp_immuno
MPRINT(IMPT): DATA supp_immuno ;
SYMBOLGEN: Macro variable EDG_SUP resolves to /sasuser/bailkx4/wrk/edge/dat/sup/
SYMBOLGEN: Macro variable NM resolves to supp_immuno
MPRINT(IMPT): infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_immuno.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ;
MPRINT(IMPT): informat csr_nbr $9. ;
MPRINT(IMPT): informat clm_nbr $13. ;
MPRINT(IMPT): informat dos anydtdte10. ;
MPRINT(IMPT): informat dx_code $10. ;
MPRINT(IMPT): informat status $1. ;
MPRINT(IMPT): format dos mmddyy10. ;
MPRINT(IMPT): input csr_nbr clm_nbr dos dx_code status ;
MPRINT(IMPT): tmp = compress(tranwrd(dx_code,".","")) ;
MPRINT(IMPT): drop dx_code ;
MPRINT(IMPT): rename tmp = dx_code ;
MPRINT(IMPT): RUN ;
MPRINT(IMPT): PROC SQL noprint ;
SYMBOLGEN: Macro variable NM resolves to supp_immuno
MPRINT(IMPT): select max(min(yrs),2016), max(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_immuno where not(missing(dos)) ) ;
MPRINT(IMPT): QUIT ;
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MIN_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&min_yr.
ERROR: The %FROM value of the %DO I loop is invalid.
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MAX_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&max_yr.
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro IMPT will stop executing.
NOTE: The macro IMPT is executing from memory.
44 instructions 2432 bytes.
SYMBOLGEN: Macro variable NM resolves to supp_deact_imo
MPRINT(IMPT): DATA supp_deact_imo ;
SYMBOLGEN: Macro variable EDG_SUP resolves to /sasuser/bailkx4/wrk/edge/dat/sup/
SYMBOLGEN: Macro variable NM resolves to supp_deact_imo
MPRINT(IMPT): infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_deact_imo.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ;
MPRINT(IMPT): informat csr_nbr $9. ;
MPRINT(IMPT): informat clm_nbr $13. ;
MPRINT(IMPT): informat dos anydtdte10. ;
MPRINT(IMPT): informat dx_code $10. ;
MPRINT(IMPT): informat status $1. ;
MPRINT(IMPT): format dos mmddyy10. ;
MPRINT(IMPT): input csr_nbr clm_nbr dos dx_code status ;
MPRINT(IMPT): tmp = compress(tranwrd(dx_code,".","")) ;
MPRINT(IMPT): drop dx_code ;
MPRINT(IMPT): rename tmp = dx_code ;
MPRINT(IMPT): RUN ;
MPRINT(IMPT): PROC SQL noprint ;
SYMBOLGEN: Macro variable NM resolves to supp_deact_imo
MPRINT(IMPT): select max(min(yrs),2016), max(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_deact_imo where not(missing(dos)) ) ;
MPRINT(IMPT): QUIT ;
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MIN_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&min_yr.
ERROR: The %FROM value of the %DO I loop is invalid.
SYMBOLGEN: && resolves to &.
WARNING: Apparent symbolic reference MAX_YR not resolved.
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &&max_yr.
ERROR: The %TO value of the %DO I loop is invalid.
ERROR: The macro IMPT will stop executing.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 4 observations read from the data set WORK.FL_NMS.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
NOTE: CALL EXECUTE generated line.
1 + DATA supp_thrombo ; infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_thrombo.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ; informat csr_nbr $9.
; informat clm_nbr $13. ; informat dos anydtdte10. ; informat dx_code $10. ;
2 + informat status $1. ; format dos mmddyy10. ; input csr_nbr clm_nbr dos dx_code status ; tmp = compress(tranwrd(dx_code,".","")) ; drop
dx_code ; rename tmp = dx_code ; RUN ;
NOTE: The infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_thrombo.txt" is:
Filename=/sasuser/bailkx4/wrk/edge/dat/sup/supp_thrombo.txt,
Owner Name=bailkx4,Group Name=sasuser,
Access Permission=-rw-r-----,
Last Modified=14Apr2021:17:29:04,
File Size (bytes)=17740
NOTE: 421 records were read from the infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_thrombo.txt".
The minimum record length was 39.
The maximum record length was 42.
NOTE: The data set WORK.SUPP_THROMBO has 421 observations and 5 variables.
NOTE: Compressing data set WORK.SUPP_THROMBO increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
real time 0.02 seconds
cpu time 0.03 seconds
2 +
PROC SQL noprint ; select max(min(yrs),2016), max
3 +(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_thrombo where not(missing(dos)) ) ;
3 + QUIT ;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.03 seconds
cpu time 0.03 seconds
4 + DATA supp_mdaudit ; infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_mdaudit.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ; informat csr_nbr $9.
; informat clm_nbr $13. ; informat dos anydtdte10. ; informat dx_code $10. ;
5 + informat status $1. ; format dos mmddyy10. ; input csr_nbr clm_nbr dos dx_code status ; tmp = compress(tranwrd(dx_code,".","")) ; drop
dx_code ; rename tmp = dx_code ; RUN ;
NOTE: The infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_mdaudit.txt" is:
Filename=/sasuser/bailkx4/wrk/edge/dat/sup/supp_mdaudit.txt,
Owner Name=bailkx4,Group Name=sasuser,
Access Permission=-rw-------,
Last Modified=14Apr2021:12:13:06,
File Size (bytes)=1727
NOTE: 42 records were read from the infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_mdaudit.txt".
The minimum record length was 39.
The maximum record length was 40.
NOTE: The data set WORK.SUPP_MDAUDIT has 42 observations and 5 variables.
NOTE: Compressing data set WORK.SUPP_MDAUDIT increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
5 +
PROC SQL noprint ; select max(min(yrs),2016), max
6 +(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_mdaudit where not(missing(dos)) ) ;
6 + QUIT ;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.02 seconds
cpu time 0.03 seconds
7 + DATA supp_immuno ; infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_immuno.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ; informat csr_nbr $9. ;
informat clm_nbr $13. ; informat dos anydtdte10. ; informat dx_code $10. ; informat
8 + status $1. ; format dos mmddyy10. ; input csr_nbr clm_nbr dos dx_code status ; tmp = compress(tranwrd(dx_code,".","")) ; drop dx_code ;
rename tmp = dx_code ; RUN ;
NOTE: The infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_immuno.txt" is:
Filename=/sasuser/bailkx4/wrk/edge/dat/sup/supp_immuno.txt,
Owner Name=bailkx4,Group Name=sasuser,
Access Permission=-rw-r-----,
Last Modified=14Apr2021:12:22:30,
File Size (bytes)=18009
NOTE: 428 records were read from the infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_immuno.txt".
The minimum record length was 39.
The maximum record length was 41.
NOTE: The data set WORK.SUPP_IMMUNO has 428 observations and 5 variables.
NOTE: Compressing data set WORK.SUPP_IMMUNO increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.02 seconds
8 +
PROC SQL noprint ; select max(min(yrs),2016), max(yrs)
9 + into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_immuno where not(missing(dos)) ) ;
9 + QUIT ;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.02 seconds
cpu time 0.02 seconds
10 + DATA supp_deact_imo ; infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_deact_imo.txt" delimiter = '09'x MISSOVER DSD lrecl=32767 firstobs = 2 ; informat csr_nbr
$9. ; informat clm_nbr $13. ; informat dos anydtdte10. ; informat dx_code $10. ;
11 + informat status $1. ; format dos mmddyy10. ; input csr_nbr clm_nbr dos dx_code status ; tmp = compress(tranwrd(dx_code,".","")) ; drop
dx_code ; rename tmp = dx_code ; RUN ;
NOTE: The infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_deact_imo.txt" is:
Filename=/sasuser/bailkx4/wrk/edge/dat/sup/supp_deact_imo.txt,
Owner Name=bailkx4,Group Name=sasuser,
Access Permission=-rw-r-----,
Last Modified=14Apr2021:13:56:12,
File Size (bytes)=463
NOTE: 10 records were read from the infile "/sasuser/bailkx4/wrk/edge/dat/sup/supp_deact_imo.txt".
The minimum record length was 40.
The maximum record length was 42.
NOTE: The data set WORK.SUPP_DEACT_IMO has 10 observations and 5 variables.
NOTE: Compressing data set WORK.SUPP_DEACT_IMO increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
11 +
PROC SQL noprint ; select max(min(yrs),2016), max
12 +(yrs) into :min_yr , :max_yr from ( select distinct year(dos) as yrs from supp_deact_imo where not(missing(dos)) ) ;
12 + QUIT ;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.02 seconds
... View more