SAS - Объединить одинаковые значения в строках, а затем добавить новую переменную для не похожих значений - PullRequest
0 голосов
/ 06 ноября 2019

У меня большой набор данных, и я пытаюсь выполнить анализ каждого клиента (с той же учетной записью и номером маршрутизации), у которого есть сотни транзакций в наборе данных. Я был в состоянии добавить SEQ # для как acct # и маршрутизации #. Как мне выполнить анализ, чтобы сказать 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
+-----------+--------+---------+--------+

Спасибо

1 Ответ

0 голосов
/ 06 ноября 2019

Есть несколько способов сделать это, но вот шаг к данным

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;
...