2

我对在 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 calc 字段也以某种方式成为加权平均值......

我是否需要知道他们想要加权什么,或者假设嘿,这很明显..我不知道我需要知道什么才能为这些人做加权平均......比如我需要什么规格(如果有的话)除了我根据 UDF 调用创建的这个计算之外的它们。我的意思是,除了将 2 个字段相乘并除以某个值以求平均值之外,我还必须做一些疯狂的选择连接或其他操作吗?我如何知道它们将用于加权平均中的哪些字段以及从哪里使用?我会公开承认我对 BI T-SQL 开发完全陌生,因为我是 ASP.NET MVC C#/Architect 开发人员......并且迷失在 T-SQL 中的这种计算内容中。

我曾尝试对此进行研究,但第一次需要一些基本的手,我现在头很痛,因为我不知道我需要从他们那里获得什么信息,然后该怎么做才能使该 calc 字段加权.

4

1 回答 1

0

他们必须告诉你权重因子是什么。这是我的猜测。

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