我对用T-SQL进行计算完全是个新手。我想知道什么是加权平均,在T-SQL中如何对字段进行加权平均?
首先,据我所知,加权平均值只是简单地乘以2列,然后除以某个值来求平均值。
这是在调用我们的一个UDF之后,在我的视图中有一个计算字段的示例。现在,在我看来,这个字段也需要是一个加权的average....no想法,从哪里开始将其转换为加权平均。
所以最终这个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计算字段在我的视图中也是一个加权平均…
我需要知道他们想要什么权重吗?还是假设很明显..我不知道我需要知道什么才能为这些guys...like做加权平均,除了我根据UDF调用创建的这个计算之外,我还需要它们的哪些规格。我的意思是,我是否必须做一些疯狂的select join或其他事情,除了乘以2个字段并除以某个值来求平均值?我如何知道它们将在加权平均中使用哪些字段以及从何处使用?我将坦率地承认,我对BI开发完全陌生,因为我是一名ASP.NET MVC C#/架构师dev...and,迷失在T-SQL中的这种计算工作中。
我试着研究这个,但只需要一些基本的手在第一次通过这个,我的头现在很痛,因为我不知道我需要从他们那里获得什么信息,然后确切地做什么来使计算字段加权。
发布于 2012-07-08 13:25:15
他们必须告诉你权重因子是什么。这是我的猜测。
SUM([weight] * CalculateAvgRentG(...)) / SUM([weight])
https://stackoverflow.com/questions/11238419
复制相似问题