各インスタンスから 30 日以内に、同じ場所で同じ人が 4 回以上、同じアイテムに対して請求された回数をカウントしようとしています。たとえば、入力は次のようになります。
person service place date
A x shop1 01/01/15
A x shop1 01/15/15
A x shop1 01/20/15
B y shop2 03/20/15
B y shop2 04/01/15
C z shop1 05/05/15
出力は次のようになります。
person service place date count
A x shop1 01/01/15 3
A x shop1 01/15/15 3
A x shop1 01/20/15 3
B y shop2 03/20/15 2
B y shop2 04/01/15 2
C z shop1 05/05/15 1
私は次のようなものを試しました:
data work.want;
do _n_ =1 by 1 until (last.PLACE);
set work.rawdata;
by PERSON PLACE;
if first.PLACE then count=0;
count+1;
end;
frequency= count;
do _n_ = 1 by 1 until (last.PLACE);
set work.rawdata;
by PERSON PLACE;
output;
end;
run;
これは、人や場所に基づいてカウントしますが、時間は考慮しません。どんな助けや提案も大歓迎です! ありがとうございました