Привет, я все еще борюсь с циклом SAS MACRO:
%Let t1=12Mth;
%Let t2=20;
%Let t3=40;
%Let t4=40;
%Let t5=50;
%Let t6=60;
%macro Clean(time);
data Milk1;
set MilkNew;
%Do I = 1 %to &time.;
/*If MilkE=2, then MilkF should be 0 and MilkA should be 0 and should be 99 and MilkT..Sp should be null*/
if (MilkE=2 and (MilkF&&t&I. ne 0 or MilkA&&t&I. ne 0 or (MilkT&&t&I..Sp is not NULL) ) ) then delete;
%end;
run;
%mend Clean;
%Clean(6)
Цель этого кода — удалить неправильные записи. Ошибка возникает на "есть" из "не равно нулю". Он показывает Ожидание арифметического оператора. Почему здесь нельзя использовать «не Null»? Есть ли альтернативный способ сделать это?
Спасибо!