Я пытаюсь понять, что делает эта программа.
data a;
set b (keep=c d);
by c;
if first.c then e=0;
e+d;
if last.c;
run;
Меня смущает следующее.
1), когда нет ТОГДА заявлений, что делает и заявление IF?
2), Когда не оценивается значение, что делает оператор IF? (почему бы не сказать что-то вроде if first.c = 1?)
3), Насколько я понимаю, e является переменной-аккумулятором, начинающейся с 0, и d добавляется путем итерации. Но по какой-то причине e представляет сумму для всех значений c, а не d, хотя мы добавляем d.
Я думаю, что первые два вопроса ответят на мой вопрос 3, но я был бы очень признателен за вашу помощь.