testrtletta

ALTER FUNCTION [dbo].[TEST_BARTLETTA] (@POZIOM_IST DECIMAL(10,6))

RETURNS CHAR(80)

AS

BEGIN

DECLARE @ILOSC_1 DECIMAL (10,6)

DECLARE @WARIANCJA_1 DECIMAL (10,6)

DECLARE @ILOSC_2 DECIMAL (10,6)

DECLARE @WARIANCJA_2 DECIMAL (10,6)

DECLARE @ILOSC_3 DECIMAL (10,6)

DECLARE @WARIANCJA_3 DECIMAL (10,6)

DECLARE @STOPNIE_SW DECIMAL (10,6)

DECLARE @WARIANCJA_SR DECIMAL (10,6)

DECLARE @STAŁA_C DECIMAL (10,6)

DECLARE @I DECIMAL (10,6)

DECLARE @STATYSTYKA FLOAT (15)

DECLARE @TEKST CHAR (80)

SELECT @ILOSC_1 = count(*),

@WARIANCJA_1 = VAR(OSOBY_ILOSC/POWIERZCHNIA)

FROM spis where id<=16

SELECT @ILOSC_2 = count(*),

@WARIANCJA_2 = VAR(OSOBY_ILOSC/POWIERZCHNIA)

FROM spis where id>16 and id <=37

SELECT @ILOSC_3 = count(*),

@WARIANCJA_3 = VAR(OSOBY_ILOSC/POWIERZCHNIA)

FROM spis where id>37 and id<=54

SET @STOPNIE_SW=@ILOSC_1+@ILOSC_2+@ILOSC_3-3

SET @STAŁA_C=1+(1/@ILOSC_1+1/@ILOSC_2+1/@ILOSC_3-1/@STOPNIE_SW)/6

SET @WARIANCJA_SR=((@ILOSC_1-1)*@WARIANCJA_1+(@ILOSC_2-1)*@WARIANCJA_2+(@ILOSC_3-1)*@WARIANCJA_3)/(@ILOSC_1+@ILOSC_2+@ILOSC_3-3)

SET @STATYSTYKA=(@STOPNIE_SW*LOG(@WARIANCJA_SR,EXP(1))-(@ILOSC_1-1)*LOG(@WARIANCJA_1,EXP(1))-(@ILOSC_2-1)*LOG(@WARIANCJA_2,EXP(1))-(@ILOSC_3-1)*LOG(@WARIANCJA_3,EXP(1)))/@STAŁA_C

IF @STATYSTYKA<dbo.KWANTYL_CHI2(1-@POZIOM_IST/2,@STOPNIE_SW) BEGIN

SET @TEKST = 'BRAK PODSTAW'

END

ELSE BEGIN

SET @TEKST = 'ODRZUCAMY'

END

RETURN @TEKST

END

select dbo.TEST_BARTLETTA(0.05)


Wyszukiwarka

Podobne podstrony:
testr
TestR

więcej podobnych podstron