我是新來的索賠數據和相對較新的SQL ...並將非常感謝您的幫助。計算連續入學12個月前後12個月參考日期
我有類似這樣的數據:
Customer Group Member ServiceDt
ABCDE 123 1111 01-Jan-12
123 1111 01-Feb-12
123 1111 01-Mar-12
123 1112 01-Feb-12
123 1112 01-Mar-12
FGHIJ 456 1116 01-Feb-12
KLMNO 567 1117 01-Mar-12
678 1118 01-Feb-12
789 1119 01-Mar-12
成員可以每月有一個條目,以指示活動報名日期。所以,一個會員可以有24行,爲期兩年的報名。另一個可能只有五行,等等......每個成員都是一個組的一部分,而這個組又是一個客戶的一部分。 (客戶可以有多個組 - 每個組中有許多成員,每個成員每個月都有一排)。
我需要從服務日期前12個月開始評估持續註冊,然後繼續12個月(服務日期之前和之後的註冊年份),然後通過CUSTOMER和GROUP編號進行分組。
我已經嘗試了intck/intcx函數,但似乎做錯了什麼。當我嘗試第一次。最後。方式,我迷路了。這個數據是如此新的給我:)
這裏是代碼的片段(不包括服務器連接的東西),我試過至今:
beg1ylag = intnx('month',&eff ,-12,'m');
add1yfut = intnx('month',&eff , 12,'m');
If first.member_id then do;
mth_cnt = 0;
lag_mth_cnt = 0;
fut_mth_cn = 0;
End;
mth_cnt+1;
if eff_dt < servicedt then lag_mth_cnt+1;
if eff_dt > servicedt then fut_mth_cnt+1;
if last.member_id then output;
Proc SQL;
Select (x,y,z
beg1ylag = intnx('month',servicedt,-12,'m');
add1yfut = intnx('month',servicedt, 12,'m');
call symput('_beg1ylag',cats("'",year(beg1ylag),'-',put(month(beg1ylag),z2.),"Middle'"));
call symput('_add1yfut',cats("'",year(add1yfut),'-',put(month(add1yfut),z2.),"Middle'"));
Quit;
結果我得到的是空行。我不知道我在做什麼或做錯了什麼....請指導我。另外,請注意,服務是不固定的。每個成員都可以有不同的 - 就像你上面看到的那樣。最終,我需要能夠挑選會員,並按照他們的團體號碼將他們分組,如果他們已經有24個月的服務員持續成員身份。
你介意提供預期的輸出嗎? – yukclam9
請詳細說明您的輸入數據表。請準確瞭解過去和未來12個月的規則。你在處理什麼類型的醫療保健索賠,這是美國的保險嗎?您提出的要求對醫療保險似乎極其簡單,以及可能涉及的衆多因素和情況。 12個月的未來覆蓋的商業原因是什麼?這些要求是什麼? – WarrenT
你的宏變量'&eff'從哪裏來?您是否正在尋找從12個月前至12個月後連續入學的會員? (這是25個月,而不是24個!)除非您參與大數據,否則爲什麼要添加[ds2]標籤?你爲什麼把你的問題標記爲[持續]?這與這個統計概念無關。 –