0
でのグループ化列を構築:私はこのようになりますテーブルを作成したSQL Server 2012の
ID TSPPLY_DT NEXT_DT DAYS_BTWN TIME_TO_EVENT CENSORED ENDPOINT
-----------------------------------------------------------------------------
1 2014-01-01 2014-01-10 10 10 0 0
1 2014-01-10 2014-01-21 11 21 0 0
1 2014-01-21 NULL NULL 21 1 0
2 2015-04-01 2015-04-30 30 30 0 0
2 2015-04-30 2015-05-03 1 31 0 1
2 2015-05-03 2015-05-06 3 34(should be 3)0 0
2 2015-05-06 2015-05-16 10 44(shouldbe 13)1 0
TIME_TO_EVENT
列がしかし、私のコードを正しく追加されていません - アイデアは日まで追加することです次のように私は私が必要なものだと思うどちらかID
変更、= 1 CENSORED
またはENDPOINT
= 1
まで出力して...私はID
とGROUPING
の集計に基づいて合計することができます追加の列である間:
ID TSPPLY_DT NEXT_DT DAYS_BTWN TIME_TO_EVENT CENSORED ENDPOINT GROUPING
----------------------------------------------------------------------------------------
1 2014-01-01 2014-01-10 10 10 0 0 A
1 2014-01-10 2014-01-21 11 21 0 0 A
1 2014-01-21 NULL NULL 21 1 0 A
2 2015-04-01 2015-04-30 30 30 0 0 A
2 2015-04-30 2015-05-03 1 31 0 1 A
2 2015-05-03 2015-05-06 3 3 0 0 B
2 2015-05-06 2015-05-16 10 13 1 0 B
GROUPING
の列を作成する方法についてのアイデアはありますか?次の行がIFのようなものになりますID
は現在の行と同じです、CENSORED
とENDPOINT
をチェックしてください。次の行で= 1の場合は、グループ化を新しい値に変更します。新しいID
に達すると、grouping
をA(または任意の値)にリセットし、テストを再度実行します。
ありがとうございますが、私の列DAYS_BTWNが正しく機能しています。問題は特にTIME_TO_EVENT列にあります。最初のデータ例が表示されている場合は、誤って追加されている行についてコメントしました。 – Brrrr