我正在为多个用户运行以下查询,并且
proc SQL;
select
username,
(select min(sub.date) from sample sub where sub.username = outer.username) Format=worddatx20. as firstDate,
date Format=worddatx20. AS betdate,
monotonic() as numberOfDaysActive
from sample as outer;
quit;
Monotonic() 没有为 numberOfDaysActive 提供正确的值,因为它只是从返回的行的顶部开始计数,而与用户无关。对于每个用户,我需要知道用户在数据库中的第一天是什么时候,以及用户存在的每一天之后的天数。
样本数据如下:
INPUT username $ amount date5 : ddmmyy8.;
DATALINES;
player1 90 12/11/08
player1 100 04/11/08
player2 120 07/11/08
player1 50 05/11/08
player1 30 05/11/08
player1 20 05/11/08
player2 10 09/11/08
player2 35 15/11/08
PROC PRINT; RUN;
我想要的“numberOfDaysActive”字段如下:
player1 90 12/11/08 3
player1 100 04/11/08 1
player2 120 07/11/08 1
player1 50 05/11/08 2
player1 30 05/11/08 2
player1 20 05/11/08 2
player2 10 09/11/08 2
player2 35 15/11/08 3
提前致谢。