我对在T-SQL中进行计算完全不熟悉。我想我想知道什么是加权平均值,你如何在一个字段的T-SQL中做到这一点?
首先,据我所知,加权平均值只是乘以2列,然后除以某个平均值。
这是我在调用我们的UDF之后在视图中的计算字段的示例。现在我认为这个领域也需要加权平均......不知道从哪里开始将其变成加权平均值。
所以最终这个UDF返回AverageCostG。我从我的视角调用UDF,所以这是UDF的内容:
Set @AverageCostG = ((@AvgFullYear_Rent * @Months) +
(@PrevYearRent * @PrevYearMonths))
/ @Term
所以在我看来,我正在调用上面的UDF以取回@AverageCostG
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个字段相乘并除以某个平均值之外的东西吗?我怎么知道他们在加权平均值和从哪里使用它们的字段?我将公开承认我对BI T-SQL开发完全不熟悉,因为我是一个ASP.NET MVC C#/ Architect开发人员......并且在T-SQL中输入了这个计算内容。
我试图研究这个,但只是需要一些基本的手拿着第一次通过这个,我的脑袋现在疼,请注意我不知道我需要从他们那里获得什么信息然后该怎样做才能做到这一点钙田加权。
答案 0 :(得分:0)
他们必须告诉你加权因素是什么。这是我的猜测。
SUM([weight] * CalculateAvgRentG(...)) / SUM([weight])