個人が四半期中に毎日服用した薬の量を判断するためのクエリを作成しようとしています。薬が処方されない日もあれば、重複する日もあり、合計量(つまり、1日の合計の強度)が必要です。薬の数、強さ、日の供給などはさまざまです。ここにいくつかのデータがあります:
create table #MemberInfo
(ProgramName varchar(255),
DateFilled datetime,
DaySupply integer,
MemberID varchar(255),
Strength integer,
Tradename varchar(255));
insert into #MemberInfo
Values ('InsureCo', '20130612', 30, 'MEM001', 10, 'Sedative')
, ('InsureCo', '20130429', 30, 'MEM001', 20, 'Sedative')
, ('InsureCo', '20130401', 30, 'MEM001', 20, 'Sedative')
, ('InsureCo', '20130529', 30, 'MEM001', 30, 'Sedative')
四半期中の特定の日に服用した薬の量を合計するための最良のアプローチが何であるかは、私にはまったくわかりません. できればカーソルの使用を避けたいと思います。四半期のすべての日を含む一時テーブルを作成し、それらの日付を薬を服用する毎日に結合することを考えていました (つまり、DateFilled + DaySupply までのすべての日)。四半期内のすべての薬の日付と量を把握できるようになったら、日ごとにグループ化して、毎日の強さの合計を取得できます。また、四半期にかかる平均額を取得できる必要もあります。
追加要件:
- 開始日と日数があります。各メンバーが処方箋を持っている日ごとに行を作成したいと思います (すべての処方箋に対して同じことを行います)。次に、毎日のすべての薬の強さを合計します。少しでも効果がある場合、すべての薬は同じクラスになり、強度は同等の用量になります。つまり、それらを合計できます.
レポートを作成するには、金額がカットオフ (100 としましょう) を超える連続した日数をカウントできる必要があります。そのため、1日あたりの量を取得しようとしています。
Desired output MemberID Date SumStrength MEM001 2013-04-29 40 MEM001 2013-04-30 40 MEM001 2013-05-01 20 ETC FOR EVERY DAY FOR THIS MEMBER MEM002 2013-04-01 60 MEM002 2013-04-02 40 ETC FOR EVERY DAY FOR THIS MEMBER