Hi all, I have a huge volumetry table I need to use to do a lot of operations. In order to improve the performance we conclude the best way is to divide the table in 1000 rows part, then to call the macroA where all operation are done, and then to make an append (macro union) with the result of the previous parts on which we already have the result. data _null_;
set TABLE1 nobs=nobs ;
file code ;
do part=0 to int(nobs/1000);
put '%macroA(inputtable=TABLE1, outputtable = TABLE2, size=1000,part=' part')' ;
put '%union(inputtable = TABLE2, part = ' part')' ;
end;
stop;
run;
%include code / source2 ; When running macroA on few parts, it works. When running union on few parts, it works. But I want to run it on the all parts and I have the following issue: ERROR: Invalid DO loop control information, either the INITIAL or TO expression is missing or the BY expression is missing, zero,
or invalid. The issue pop up in the middle of the loop number 442, when my input table (TABLE1) has 442,167 rows. The loop number 442 should concern rows from 442,000 to 443,000. I suppose the issue is due to the fact that there are not any rows from 442,168 to 443,000. But I don't know what I should do to ask my process to stop if there are no rows remaining, can you help me? Thanks,
... View more