T-SQLで計算を行うのはまったく新しいです。加重平均とは何で、フィールドのT-SQLでどのように実行するのでしょうか。
まず、私が知る限り、加重平均とは、単に2つの列を乗算してから、何かで割って平均することです。
これは、UDFの1つを呼び出した後、私のビューにある計算フィールドの例です。今、私の見解では、このフィールドも加重平均である必要があります....これを加重平均に変換し始める場所がわかりません。
したがって、最終的にこのUDFはAverageCostGを返します。私は自分の視点からUDFと呼んでいるので、UDFの内臓は次のとおりです。
Set @AverageCostG = ((@AvgFullYear_Rent * @Months) +
(@PrevYearRent * @PrevYearMonths))
/ @Term
したがって、私の見解では、@ AverageCostGを取り戻すために、上記のUDFを呼び出しています。
CREATE View MyTestView
AS
select v.*, --TODO: get rid of *, that's just for testing, select actual field names
CalculateAvgRentG(d.GrossNet, d.BaseMonthlyRent, d.ILI, d.Increase, d.Term) as AverageRent_G,
....
from SomeOtherView v
次に、ビュー内のこのAverageRent_G計算フィールドも、どういうわけか加重平均にする必要があります...
彼らが何を加重したいのかを知る必要がありますか、それともそれは明らかだと思われますか..これらの人の加重平均を行うために何を知る必要があるのかわかりません... UDF呼び出しに基づいて作成したこの計算以外のもの。つまり、2つのフィールドを乗算し、それを平均化するために何かで除算することに加えて、クレイジーな選択結合などを実行する必要がありますか?加重平均で使用されるフィールドとその場所をどのように知ることができますか?私はASP.NETMVCC#/アーキテクト開発者であるため、BIT-SQL開発にまったく慣れていないことを公然と認めます...そしてT-SQLでのこの計算に負けました。
私はこれを研究しようとしましたが、これを初めて握る基本的な手が必要です。頭が痛いので、彼らからどのような情報を取得する必要があるのか、そしてその計算フィールドを重み付けするために正確に何をすべきかわかりません。 。