Используйте параметр FILE
оператор FILEVAR=
, чтобы изменить выходной файл во время шага текущих данных.
Предполагается, что набор данных предварительно отсортирован по Claim_Id
или в пределах Tin
Claim_Id
отсортированы. BY
обработка может подсчитывать количество встреченных групп и изменять имя файла каждые 2 группы. Настройте модуль модульного теста и делителя в конструкции имени файла, если число утверждений в каждом текстовом файле равно 3 (или некоторому другому #) вместо 2.
data have;
do tin = 1 to 20;
do claimid = 1 to 9;
do item = 1 to ceil(20 * ranuni(123));
value = 100 + floor(50*ranuni(123));
output;
end;
end;
end;
run;
data _null_;
set have;
by tin claimid;
if first.claimid then do;
retain claimgroup 1;
claimgroup+1;
if mod(claimgroup,2) = 0 then filename = cats('c:\temp\claims_pair#', claimgroup/2);
end;
file pairs filevar=filename dlm=',';
put tin claimid item value;
run;