Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAS中的条件/分区运行总计_Sas - Fatal编程技术网

SAS中的条件/分区运行总计

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

我试图创建一个名为“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 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;