-- Regression Functions (REGR) -- y = mx + c -- Where m is slope and c is the y intercept -- REGR_SLOPE (m), REGR_INTERCEPT (y intercept) -- REGR_R2 -- REGR_COUNT -- REGR_AVGX, REGR_AVGY SELECT REGR_SLOPE(val1, val2) m_slope ,REGR_INTERCEPT(val1, val2) y_intercept_c ,REGR_R2(val1, val2) r2_value ,REGR_COUNT(val1, val2) regr_cnt ,REGR_AVGX(val1, val2) regr_avgx_ ,REGR_AVGY(val1, val2) regr_avgy_ FROM (SELECT 2 val1, 5 val2 FROM DUAL UNION SELECT 6 val1, 2 val2 FROM DUAL UNION SELECT 9 val1, 8 val2 FROM DUAL UNION SELECT 3 val1, 7 val2 FROM DUAL ) ; Function Output -- Regression functions ignore/exclude null values -- REGR_SXX(x, y) = REGR_COUNT(x, y) * VAR_POP(y) = 4 * 5.25 = 21 -- REGR_SXY(x, y) = REGR_COUNT(x, y) * COVAR_POP(x, y) = 4 * 1.25 = 5 -- REGR_SYY(x, y) = REGR_COUNT(x, y) * VAR_POP(x) = 4 * 7.5 = 30 SELECT REGR_COUNT(xval, yval) regr_cnt ,VAR_POP(yval) var_pop_y ,REGR_SXX(xval, yval) regr_sxx_ ,COVAR_POP(xval, yval) covar_pop_xy ,REGR_SXY(xval, yval) regr_sxy_ ,VAR_POP(xval) var_pop_x ,REGR_SYY(xval, yval) regr_syy_ FROM (SELECT 2 xval, 5 yval FROM DUAL UNION SELECT 6 xval, 2 yval FROM DUAL UNION SELECT 9 xval, 8 yval FROM DUAL UNION SELECT NULL xval, NULL yval FROM DUAL UNION SELECT 3 xval, 7 yval FROM DUAL ) ; Function Output
56593