-1

所以我是 SAS 和商业世界的新手,我正在做的任务很糟糕。

简介:我有一个数据集RDI_HIST,它在 ~6 个月内按帐户/路由 # 显示所有 RDI。数据集中有约 250,000 笔交易,其中一些是同一客户(相同的账户/路由#)。

我被告知要对这些数据进行分析,但首先我不确定我是否对其进行了排序/分组(见表)。

+------------------+-------------+------------+-----------+-------+
| RDI_RT_TRAN_CODE | RDI_ACCT_NO | RDI_AMOUNT | RDI_TOTAL | COUNT |
+------------------+-------------+------------+-----------+-------+
|              518 |           0 | 3117.00    | 3777.5    |     3 |
|              518 |           0 | 170.00     | 3777.5    |     3 |
|              518 |           0 | 490.50     | 3777.5    |     3 |
|         26013673 |           0 | 755.63     | 755.63    |     1 |
|         31100225 |           0 | 31.40      | 31.4      |     1 |
|         41001039 |           0 | 143.10     | 143.1     |     1 |
|         41202443 |           0 | 32.38      | 32.38     |     1 |
|         41203824 |           0 | 63.31      | 63.31     |     1 |
|         41207341 |           0 | 43.00      | 375.87    |     4 |
|         41207341 |           0 | 184.87     | 375.87    |     4 |
|         41207341 |           0 | 15.00      | 375.87    |     4 |
|         41207341 |           0 | 133.00     | 375.87    |     4 |
|         41208719 |           0 | 247.57     | 247.57    |     1 |
|         41215621 |           0 | 220.00     | 630       |     4 |
|         41215621 |           0 | 250.00     | 630       |     4 |
|         41215621 |           0 | 60.00      | 630       |     4 |
|         41215621 |           0 | 100.00     | 630       |     4 |
|         43301601 |           0 | 1999.70    | 2407.16   |     3 |
|         43301601 |           0 | 330.18     | 2407.16   |     3 |
|         43301601 |           0 | 77.28      | 2407.16   |     3 |
|         43306910 |           0 | 1200.00    | 1200      |     1 |
|         43313259 |           0 | 1312.65    | 9852.52   |     6 |
|         43313259 |           0 | 1352.37    | 9852.52   |     6 |
|         43313259 |           0 | 2939.98    | 9852.52   |     6 |
|         43313259 |           0 | 1500.00    | 9852.52   |     6 |
|         43313259 |           0 | 1309.10    | 9852.52   |     6 |
|         43313259 |           0 | 1438.42    | 9852.52   |     6 |
|         44103976 |           0 | 126.00     | 126       |     1 |
+------------------+-------------+------------+-----------+-------+

对于分析,我真的不知道从哪里开始。主要目标是创建一段代码来吸引拥有多个 RDI(错误检查)的客户,并每周将他们添加到黑名单中。该列表的参数是什么,我还不确定,所以我只是想提出一些体面的统计数据。

如果有人能够提供一些帮助,我一定会支付它。我会在这里回答任何问题。谢谢。

4

2 回答 2

1

你可以从 proc 方法开始。假设 RDI_ACCT_NO 是您可以分组的客户 ID:

proc means data=RDI_HIST;
var RDI_RT_TRAN_CODE RDI_AMOUNT RDI_TOTAL;
by RDI_ACCT_NO;
run;

这将根据您的客户 ID 快速为您提供所选变量的汇总统计信息。

另外,我强烈建议查看 SAS 支持社区。Stackoverflow 很棒,但 SAS 有一个庞大的程序员社区,他们也准备好帮助 SAS 人。

于 2019-11-06T17:07:53.937 回答
0

从蛮力开始。首先获取 RDI 的分布,然后设计一个截止值。

假设您的数据被调用have并且变量名称如图所示,那么类似下面的内容很有用。

proc freq data=have noprint;
table rdi_account_no / out=rdi_counts;
run;

proc rank data=rdi_counts groups=100 out=rdi_counts_ranked;
var count;
ranks rank_count;
run;

proc freq data=rdi_counts_ranked;
table rank_count;
run;

您需要检查最后一个 proc freq 的分布,它本质上是帐户数的分布。即,如果您查看第 90 个百分位,它会告诉您有多少帐户属于该组。您还可以查看 PROC UNIVARIATE 中的 CDF。

proc univariate data=rdi_counts_ranked;
histogram rank_count;
cdf rank_count;
run; 
于 2019-11-06T18:47:49.040 回答