I have to admit after my Windows client just crashed (see last proc sql) I am in a bit of a faith crisis here. The whole exercise is just a test and does not even closely represent to the actual work load of the server once 20 developers starting working with the data and the system goes down left right and centre. Why are we using SAS again? I have been developing 8 years with Oracle and SQL Server and never had any of those issues. I feel worried that I have to do all this pre-sorting and merging. Future developers and end-users will shoot me if I have to tell them that they have to do that 😄 I try to run the statements on Monday again. proc sort /*1 minute*/
data=DMPSTAM (
keep=sta_id year office country office_name car car_name cartypeID
where=(year = '2015')
)
out=DMPSTA_SORTED
;
by sta_id;
run;
proc sort /*7 minutes*/
data=DMPERG (
keep=sta_id erg_id residue residuename
)
out=DMPERG_SORTED
;
by sta_id;
run;
/*client EG crashed after trying to load over 6gb of data into memory- the code executed on the server*/
OPTIONS MSGLEVEL=I;
proc sql _METHOD;
select year, office, country, office_name,car,car_name,residue,residuename,
count(distinct STAMM.sta_id), count (distinct erg_id), count(distinct cartypeid)
FROM DMPSTA_SORTED STAMM
INNER JOIN DMPERG_SORTED ERG
ON STAMM.STA_ID = ERG.STA_ID
where year ='2015'
group by year, office, country, office_name,residue,residuename,car,car_name
;
QUIT;
... View more