私はこれに似たデータを持っています:
Price DateChanged Product
10 2012-01-01 A
12 2012-02-01 A
30 2012-03-01 A
10 2012-09-01 A
12 2013-01-01 A
110 2012-01-01 B
112 2012-02-01 B
130 2012-03-01 B
110 2012-09-01 B
112 2013-01-01 B
平均値を計算したいのですが、課題は次のとおりです。最初のレコードを見ると、価格10は1か月間有効、価格12は1か月間有効、価格30は6期間有効です。数ヶ月。
したがって、製品A(10 + 12 + 30 + 10 + 12)/ 5の基本平均は、期間を考慮に入れて14.8になり、平均価格は約20.1になります。
これを解決するための最良のアプローチは何ですか?期間を計算するために結合するrow_number()を使用してサブクエリを作成できることは知っていますが、より良い方法はありますか?SQL ServerにはSTDistanceのような強力な機能があるので、確かにこのための機能はありますか?