Не уверен, что вы пытаетесь сделать. Но если у вас есть записи, упорядоченные по «xname», и для каждой группы «xname» просто хотите суммировать по значению, вы можете попробовать следующее.
data sample;
input xname$1-6 myvalue;
datalines;
name01 5
name01 1
name02 3
name02 8
name02 4
name03 7
;
data result;
set sample;
by xname;
retain s 0;
if first.xname then s=0;
s=s+myvalue;
if last.xname then output;
run;
proc print data=result;
run;
Это сбрасывает «s» для каждой группы «xname» и выводит последнюю запись с «s», установленной на сумму «myvalue» по группе. Результат выглядит так:
Obs xname myvalue s
1 name01 1 6
2 name02 4 15
3 name03 7 7