ユーザーに適切に表示するために、ビュー内のユーザー データを処理する必要がある状況があります。次のフィールドを持つテーブルがあります。
StartDate DateTime
EndDate DateTime
MoneySpent Double
複雑な部分は、開始日と終了日が 15 日、1 か月、または 2 か月離れている可能性があり、特定のパターンがないことです。パターンとは、日付が 2012 年 4 月 1 日から 2012 年 6 月 1 日までのように常に指定された形式であるとは限らないことを意味します。
開始日から「月」コンポーネントを選択し、MoneySpent 列でいくつかの集計関数を実行するビューがあります。ただし、上記の日付の月コンポーネントは、理想的には 2 つの異なる月を返す必要があります。今のところ、すべてのお金が StartDate でその月に費やされたと見なされ、当然のことながら集計関数は間違った値を返します。自分の状況に対処する関数をどのように作成すればよいですか?
StartDate EndDate Spend
1 May 2012 1 Jun 2012 100
1 Jun 2012 30 Jun 2012 200
1 Jul 2012 31 Aug 2012 500
31 Aug 2012 29 Sep 2012 300
統合ビュー
Month Spend
May 100
Jun 200
Jul 250
Aug 250
Sep 300