Moyenne pondérée en T-SQL (comme SUMPRODUCT d'Excel)

Je suis à la recherche d'un moyen de calculer une moyenne pondérée de deux lignes de données avec le même nombre de colonnes, où la moyenne s'établit comme suit (emprunt Excel notation):

(A1*B1)+(A2*B2)+...+(An*Bn)/SUM(A1:An)

La première partie reflète les mêmes fonctionnalités que d'Excel SUMPRODUCT() fonction.

Mon hic, c'est que j'ai besoin de manière dynamique spécifier la ligne qui obtient une moyenne avec des poids, et la ligne qui les pondérations viennent, et une plage de dates.

EDIT: C'est plus facile que je pensais, parce que Excel me faisait penser-je une sorte de pivot. Ma solution à ce jour est donc:

select sum(baseSeries.Actual * weightSeries.Actual) / sum(weightSeries.Actual)
from (
    select RecordDate , Actual 
    from CalcProductionRecords 
    where KPI = 'Weighty'
) baseSeries inner join (       
    select RecordDate , Actual 
    from CalcProductionRecords 
    where KPI = 'Tons Milled'   
) weightSeries on baseSeries.RecordDate = weightSeries.RecordDate

source d'informationauteur ProfK