SAS中的条件/分区运行总计
我试图创建一个名为“new Value”的新列,它是一个现有列的运行总数,由多个标识符分区 x=1到10 _i_member读取数组{members}中有24项 _i_simul是成员数组中每个项中的实际成员数 以下是成员的样子:SAS中的条件/分区运行总计,sas,Sas,我试图创建一个名为“new Value”的新列,它是一个现有列的运行总数,由多个标识符分区 x=1到10 _i_member读取数组{members}中有24项 _i_simul是成员数组中每个项中的实际成员数 以下是成员的样子: array members {24} _temporary_ (5 6 8 10 12 15 20 25 30 40 50 60 70 80 90 100 125 150 175 200
array members {24} _temporary_ (5 6 8 10 12 15 20 25 30 40 50
60 70 80 90 100 125 150 175 200 250 300 400 500)
我尝试使用数据步骤:
data simulation_members3;
set claims.new_simulation_members;
do until (last._i_member);
by _i_member;
New_Value + Value ;
end;
run;
但它不起作用,因为表没有按_i_成员排序(当x=2,3,…,24时,_i_成员=1重复)
计算的第一个运行总数应该是x=1和_i_member=1的总和,直到它达到最后一个_i_simul值(members数组的第一个值为5,members数组的第二个值为6,以此类推)
这是我当前的表(称为“claims.new\u simulation\u members”)的样子
试着用这个例子
data test;
input member value;
datalines;
1 3
1 4
1 3
2 1
2 2
2 3
;
run;
proc sort data=test out=test_sorted;
by member;
run;
data test_sorted1;
retain new_value;
set test_sorted;
by member;
if first.member then new_value = value;
else new_value + value;
run;
data test;
input member value;
datalines;
1 3
1 4
1 3
2 1
2 2
2 3
;
run;
proc sort data=test out=test_sorted;
by member;
run;
data test_sorted1;
retain new_value;
set test_sorted;
by member;
if first.member then new_value = value;
else new_value + value;
run;