SAS-遍历数据

时间:2018-07-18 14:24:52

标签: sas

我有以下格式的数据集:

Date            Item            Customer          Qty

10/05/2017 HDD IGM 1 10/09/2017 Mouse DCD 4 10/11/2017 Mouse IGM 1

假设数据按日期排序,我希望SAS遍历每条记录,并回顾6周以查看客户是 Repeat 客户还是客户。

我的最终结果将如下所示:

Date            Item            Customer          Qty           Repeat Flag

10/05/2017 HDD IGM 1 0 10/09/2017 Mouse DCD 4 0 10/11/2017 Mouse IGM 1 1

我是SAS的新手,已经在这里呆了一段时间。预先感谢。

编辑-我知道可以使用ProcSQL完成此操作,但是我正尝试仅使用SAS语言来实现它。

1 个答案:

答案 0 :(得分:0)

按客户和日期对数据进行排序。

data want ;
  set have ;
  by customer date ;
  lag_date=lag(date);
  if first.customer then lag_date=.;
  new = lag_date < intnx('week',date,-6,'s');
run;