2013-06-13 1 views
0

Является ли любая встроенная функция для бета-версии, со-дисперсии и разницы в SQL Server2008.Любая встроенная функция для бета-версии, со-дисперсии и разницы в SQL Server2008

Они доступны в MS Excel, Бета = БЕТАРАСП(), Со-дисперсия = КОВАР() и дисперсия = Var()

Я могу сделать это путем расчета шаг за шагом. Но если есть встроенная функция, это сэкономит мое время.

Спасибо заранее!

N.B. О, я получил УАК() в SQL Server, теперь мне нужно Beta и ковариации

+0

Можете ли вы добавить структуру таблицы для BETADIST, пожалуйста, – gbn

ответ

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 

..which эквивалентен более сложному и более медленному

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 сложнее: какую структуру таблицы вы используете для каких параметров

+0

Спасибо, но какой из них быстрее, первый или второй? –

Смежные вопросы