Hi Art, Reuters data are arranged based on Currencies and then by date, however i had already created a new file containing only one currency when running the code, thus with ordered date. The date format is standard, the total reuters dataset is based on GMT and during random days they are ordered based on time, beginning with 00:01 and ending at 23:59 Below are the error messages I have received when executing the code (i think also when executing one additional command). Do you have an idea what might be the problem? WARNING: Multiple lengths were specified for the variable Cur1Cur2 by input data set(s). This may cause truncation of data. NOTE: There were 16529 observations read from the data set NEO.CHFDAILY. NOTE: The data set WORK.CHFDAILY has 16529 observations and 42 variables. NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format. NOTE: DATA statement used (Total process time): real time 0.55 seconds cpu time 0.59 seconds 389 390 proc sort data=chfdaily; 391 by dt1; 392 run; NOTE: There were 16529 observations read from the data set WORK.CHFDAILY. NOTE: The data set WORK.CHFDAILY has 16529 observations and 42 variables. NOTE: PROCEDURE SORT used (Total process time): real time 0.40 seconds cpu time 0.45 seconds 393 394 data chfreuters (drop=date_G_ time_G_); 395 set neo.chfreuters; 396 format dt2 datetime19.; 397 dt2=dhms(datepart(date_G_),hour(time_G_),minute(time_G_),second(time_G_)); 398 run; NOTE: Missing values were generated as a result of performing an operation on missing values. Each place is given by: (Number of times) at (Line):(Column). 4126234 at 397:7 4126234 at 397:12 NOTE: There were 4126234 observations read from the data set NEO.CHFREUTERS. NOTE: The data set WORK.CHFREUTERS has 4126234 observations and 21 variables. NOTE: DATA statement used (Total process time): real time 35.60 seconds cpu time 6.52 seconds 399 400 data want; 401 retain start_rpointer; 402 set chfdaily; 403 if _n_ eq 1 then start_rpointer=1; 404 current_rpointer=start_rpointer; 405 do while (dt1 ge dt2 and not have2end); 406 set chfreuters point=current_rpointer end=have2end; 407 if dt2 ge dt1 and Cur1Cur2 eq _ric2 then do; 408 output; 409 start_rpointer=current_rpointer; 410 end; 411 else do; 412 current_rpointer+1; 413 end; 414 end; 415 run; NOTE: The DATA step has been abnormally terminated. NOTE: There were 1 observations read from the data set WORK.CHFDAILY. WARNING: The data set WORK.WANT may be incomplete. When this step was stopped there were 0 observations and 63 variables. WARNING: Data set WORK.WANT was not replaced because this step was stopped. NOTE: DATA statement used (Total process time): real time 1:45:49.23 cpu time 1:44:46.60 416 417 418 PROC SORT 419 data=neo.cobasetneo NODUP; 420 BY _all_; 421 RUN; ERROR: No disk space is available for the write operation. Filename = C:\Users\Ali\AppData\Local\Temp\SAS Temporary Files\SAS_util00010000218C_Ali-PC\ut218C000002.utl. ERROR: Failure while attempting to write page 910 of sorted run 120. ERROR: Failure while attempting to write page 268660 to utility file 1. ERROR: Failure encountered while creating initial set of sorted runs. ERROR: Failure encountered during external sort. ERROR: Sort execution failure. NOTE: The SAS System stopped processing this step because of errors. NOTE: There were 1890001 observations read from the data set NEO.COBASETNEO. WARNING: The data set NEO.COBASETNEO may be incomplete. When this step was stopped there were 0 observations and 43 variables. WARNING: Data set NEO.COBASETNEO was not replaced because this step was stopped. NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format. NOTE: PROCEDURE SORT used (Total process time): real time 28:12.22 cpu time 3:02.64 Do you think that making the datasets shorter (smaller number of variables) for the matching procedure and then remerging e.g based on the deal_Id would also be an option? Let me know what you think Thanks Neo
... View more