SQL Server 2008中的Beta,协方差和方差的任何内置函数

时间:2013-06-13 08:49:07

标签: sql-server-2008

是SQL Server2008中Beta,Co-variance和Variance的任何内置函数。

这些在MS Excel中可用,Beta = BETADIST(),Co-variance = COVAR()和Variance = VAR()

我可以通过逐步计算来做到这一点。但如果有任何内置功能,那么它将节省我的时间。

提前致谢!!!

  

N.B。哦,我在SQL Server中得到VAR(),现在我需要Beta和Co-variance

1 个答案:

答案 0 :(得分:1)

使用Excel COVAR docs

中的示例数据
DECLARE @MyTable TABLE (x decimal(19,6), y  decimal(19,6));
INSERT @MyTable (x, y) VALUES (3, 9), (2, 7), (4, 12), (5, 15), (6, 17);

协方差就是这个

SELECT
    SUM(x * y) / COUNT(*) - AVG(x) * AVG(y)
FROM
    @MyTable

..这相当于更复杂和更慢的

SELECT  SUM((x - AvgX) * (y - AvgY)) / COUNT(*)
FROM 
    (
     SELECT
         x, y,
         AVG(x) OVER () AS AvgX,
         AVG(y) OVER () AS AvgY
     FROM
         @MyTable
    ) T;

BETADIST比较棘手:您使用什么表格结构