SAS中的Proc SQL,滞后和领先

时间:2015-11-02 08:27:38

标签: sas proc-sql

我因为一个问题而苦苦挣扎,我无法理解。

我们说我们有几栏;

IP地址,时间戳,SSN。

如何在多个记录中找到相同IP出现的位置,其中时间在同一小时窗口内(作为时间窗口的示例)并且有多个SSN。

例如,这可以用于任何接收的应用程序,其中我们从给定数据的一个位置获得大量流量。

可能滞后还是导致好?

我使用SAS,但只使用Proc SQL。可能会滞后还是领先?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

“一小时窗口”描述存在一些不确定性。这取决于你的起点何时 - 距离何时一小时?

否则你可能会以双循环结束:

  • 对于每个IP
  • 每个时间戳

检查1小时和不同SSN之间是否存在相同IP的其他时间戳

更简单的解决方案可能是使用滞后函数。

  • 首先按IP和时间戳排序。
  • 第二次使用滞后计算新列,每两行之间有时差。小于1小时时标记它。在下一个查询分组中使用此标志来标识不同的SSN。

后一种解决方案的问题是它将标记总共超过1小时窗口的记录。