Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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,我有一个大的数据集,正在尝试对每个客户(相同的帐户和路由#)进行分析,数据集中有100个交易。我 能够为类似帐户和路由添加SEQ。我将如何进行分析,以说明序号1,并给出存款总额(金额)、存款的最大值、最小值以及其他一些可能有用的数据 +-----------+--------+---------+--------+ | Routing# | Acct# | AMOUNT | TOTAL |SEQ # +-----------+--------+---------+--------+ |

我有一个大的数据集,正在尝试对每个客户(相同的帐户和路由#)进行分析,数据集中有100个交易。我 能够为类似帐户和路由添加SEQ。我将如何进行分析,以说明序号1,并给出存款总额(金额)、存款的最大值、最小值以及其他一些可能有用的数据

+-----------+--------+---------+--------+
| Routing#  | Acct#  | AMOUNT  | TOTAL  |SEQ #
+-----------+--------+---------+--------+
|      518  |     0  | 490.50  | 3777.5 | 1
|      518  |     0  | 170.00  | 3777.5 | 1
|      518  |     0  | 3117.00 | 3777.5 | 1
|      518  |    99  | 875.00  | 875    | 2
|      518  |   999  | 499.00  | 499    | 3
|       519 |      2 | 100.00  | 200.00 | 4
|       519 |      2 | 100.00  | 200.00 | 4
+-----------+--------+---------+--------+

谢谢

有多种方法可以做到这一点,但这里有一种数据步方法

data have;
input Routing Acct AMOUNT;
datalines;
518 0 490.50
518 0 170.00
518 0 3117.00
518 99 875.00
518 999 499.00
519 2 100.00
519 2 100.00
;

data want;
    do until (last.Acct);
        set have;
        by Routing Acct notsorted;
        total+amount;
    end;
    seq+1;
    do until (last.Acct);
        set have;
        by Routing Acct notsorted;
        output; 
    end;
    total=0;
run;

有多种方法可以做到这一点,但这里有一个数据步骤的方法

data have;
input Routing Acct AMOUNT;
datalines;
518 0 490.50
518 0 170.00
518 0 3117.00
518 99 875.00
518 999 499.00
519 2 100.00
519 2 100.00
;

data want;
    do until (last.Acct);
        set have;
        by Routing Acct notsorted;
        total+amount;
    end;
    seq+1;
    do until (last.Acct);
        set have;
        by Routing Acct notsorted;
        output; 
    end;
    total=0;
run;