私はこの問題について助けを求めています。最初の連絡から連続した月数
私は顧客のリストを持っています。顧客ごとに、私はこの顧客が私たちに連絡した月のリストを持っています。私は特定の顧客が私達に連絡した月数を知る必要があります。しかし、私は彼の最初の連絡から連続した数ヶ月だけ知る必要があるという問題があります。
だから私はこの
+---------+-------+
| cust id | month |
+---------+-------+
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 1 | 8 |
| 1 | 9 |
| 1 | 10 |
| 1 | 11 |
| 1 | 12 |
+---------+-------+
のようなテーブルがあると私は、だから、最終的に私は唯一の列FLG内のすべての1を合計し、この
+---------+-------+-------+
| cust id | month | flg |
+---------+-------+-------+
| 1 | 2 | 1 |
| 1 | 3 | 1 |
| 1 | 4 | 1 |
| 1 | 5 | 1 |
| 1 | 8 | 0 |
| 1 | 9 | 0 |
| 1 | 10 | 0 |
| 1 | 11 | 0 |
| 1 | 12 | 0 |
+---------+-------+-------+
のように列を追加する必要があります。結果は、消費者1が最初の接触から4回連続して私達に連絡したことになります。
は、私はこのような使用の何かを試してみましたが、それは動作しません:(私は1だけ拳の連続ラインのためになることを行う方法を知りません。
data test1;
set customer_base;
retain month_ret;
output;
by cust_id month;
month_ret = month;
run;
Data test2;
Set test1;
By cust_id;
If first.cust_id then i=1;
if month= month_ret+1 then i=1;
if month<>month_ret+1 then output;
Run;
はどうもありがとうございまし
悪いです。どうもありがとうございました! – Vendula
@Vendulaご参考までに – user2877959
user2877959、P _ month変数がサンプルコードでどのように機能するのか説明できますか? – Alph