2

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でのこの計算に負けました。

私はこれを研究しようとしましたが、これを初めて握る基本的な手が必要です。頭が痛いので、彼らからどのような情報を取得する必要があるのか​​、そしてその計算フィールドを重み付けするために正確に何をすべきかわかりません。 。

4

1 に答える 1

0

彼らは、重み付け係数が何であるかを教えてくれる必要があります。これは私の推測です。

SUM([weight] * CalculateAvgRentG(...)) / SUM([weight])
于 2012-07-08T05:25:15.480 に答える