Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaÁron Pataki Megváltozta több, mint 10 éve
1
SQL – OLAP 5. óra
2
Personal Express programozása Saját rutinok, függvények készíthetők DEFINE nev PROGRAM vtípus EDIT nev nev ” megjegyzés VARIABLE változó típus ARGUMENT nev tipus SHOW üzenet WINDOW V = kifejezés RETURN
3
Personal Express programozása Első mintaprogram : Üdvözlő szöveg kiíratása DEFINE p1 PROGRAM EDIT p1 SHOW ‘HELLO VILAG!’ WINDOW ARGUMENT a1 text ” proba program SHOW a1 WINDOW p1 Második mintaprogram : Paraméter visszaírása
4
Adatértéke beolvasása V = GET (típus módosítók) PROMPT szöveg DEFAULT érték CHOOSE lista VERIFY kifejezés (VALUE) MANY Personal Express programozása
5
Vezérlési szerkezetek IF kifejezés WHILE kifejezés THEN DO DO …... DOEND DOEND SWITH kifejezésFOR dimenzió DO DO CASE v1 … BREAK DOEND DEAFULT DOEND Personal Express programozása
6
VARIABLE i integer VARIABLE db integer db = GET (integer PROMPT ‘darab :’) i = 1 WHILE i le db DO SHOW i WINDOW i = i + 1 DOEND Harmadik mintaprogram : Egész szám beolvasása és ennyiszer üzenet kiírása
7
Personal Express programozása VARIABLE uj TEXT uj = GET(TEXT PROMPT ‘regio: ‘) IF ISVALUE(region, uj) THEN DO SHOW ‘Mar letezik’ WINDOW RETURN DOEND MAINTAIN region ADD uj SHOW JOINCHARS(‘db=‘, CONVERT(STATLEN(region),TEXT)) WINDOW Negyedik mintaprogram : új dimenzió érték felvitele
8
Matematikai függvények SQRT, SIN,… Statisztikai függvények TOTAL (kifejezés dim1 dim2..) COUNT(logikai kif. dim1 dim2 …) ANY (logikai kif. dim1 dim2 …) ALL (logikai kif. dim1 dim2 …) AVERAGE (kifejezés dim1 dim2 …) STDDEV (kifejezés dim1 dim2 …) SMALLEST (kifejezés dim1 dim2 …) LARGEST (kifejezés dim1 dim2 …) Personal Express programozása
9
FOR product DO SHOW JOINCHARS(STATLIST(product),‘= ‘, CONVERT(TOTAL(sales),TEXT)) WINDOW DOEND Ötödik mintaprogram : ciklus a dimenzió értékekre, kocka szeletek összegzése
10
ARGUMENT onev MONTH VARIABLE exc DECIMAL ALLSTAT LIMIT month TO onev IF TOTAL(sales, month) GT TOTAL(sales.plan, month) THEN DO exc = (TOTAL(sales, month) – TOTAL(sales.plan, month)) - / (TOTAL(sales.plan, month) * 100) SHOW JOINCHARS(‘Sales exceeded plan in ‘ month) DOEND ELSE - SHOW JOINCHARS(‘Sales not met the plan in ‘ month) REPORT DOWN product W 10 ACROS district : sales – sales.plan END Personal Express programozása
11
regresszió számítás REGRES függő függetlenek WEIGHTBY súly Personal Express programozása többváltozós lineáris regresszió megvalósítása egy függő változó feltételes várható érték becslésére szolgál E(y|x 1 x 2..) = F(x 1,x 2,.., 1, 2,..) y = F(x 1,x 2,.., 1, 2,..) + lineáris regresszió : a paraméterekben lineáris az F függvény y = 1 x 1 + 2 x 2 + 3 + y = 1 x 1 + 2 x 2 + 3 + 4 x 1 2 + 5 x 2 2 + a feltétel szerint egy 0 várható értékű, azonos paraméterű normál eloszlású
12
Personal Express programozása a paraméterek várható értékének meghatározása a legkisebb négyzetek elvével történik elemi esetre: i = y i - (a 1 x i1 + a 2 x i2 + a 3 ) y i = 1 x i1 + 2 x i2 + 3 + i E( i ) = 0 i 2 minimális a szélsőérték szükséges feltétele a deriváltak zérus értéke a1 i (y i - (a 1 x i1 + a 2 x i2 + a 3 )) 2 = 0 a2 i (y i - (a 1 x i1 + a 2 x i2 + a 3 )) 2 = 0 a3 i (y i - (a 1 x i1 + a 2 x i2 + a 3 )) 2 = 0
13
a1 i (y i - (a 1 x i + a 2 )) 2 = 0 a2 i (y i - (a 1 x i + a 2 )) 2 = 0 Personal Express programozása egy változós esetre: a1 i (y i 2 + a 1 2 x i 2 + a 2 2 + 2 a 1 a 2 x i – 2 y i a 1 x i - 2 y i a 2 ) = 0 a1 i (a 1 2 x i 2 + 2 a 1 a 2 x i – 2 y i a 1 x i + a 2 2 - 2 y i a 2 + y i 2 ) = 0 a2 i (a 2 2 + 2 a 1 a 2 x i – 2 y i a 2 + a 1 2 x i 2 - 2 y i a 1 x i + y i 2 ) = 0 a 1 i x i 2 + a 2 i x i – i y i x i = 0 a 2 n + a 1 i x i – i y i = 0 a 1 = ( n i x i y i - i x i i y i ) / (n i x i 2 - i x i i x i ) a 2 = ( i y i – a 1 i x i ) / n
14
Personal Express programozása x fx DEFINE sdi DIMENSION text MAINTAIN sdi ADD ‘p1’ … MAINTAIN sdi ADD ‘p4’ DEFINE x VARIABLE integer DEFINE fx VARIABLE integer LIMIT sdi TO ‘p1’ x = 1 fx = 8 … LIMIT sdi TO ‘p4’ x = 4 fx = 2
15
x Personal Express programozása REGRESS.REPORT fx x
16
A változók, a programállapot verembe menthető PUSH változóPOP változó Hard-copy készíthető OUTFILE filenévOUTFILE EOF Hibakezelés: TRAP ON címke ERRORNAME ERRORTEXT SIGNAL hibanév TRACE filePRGTRACE = YES Personal Express programozása
17
Közvetlen állomány kezelés (szöveges állomány) X = FILEOPEN (fnév mód) FILECLOSE x FILEVIEW x mező1 mező2 Personal Express programozása VARIABLE x integer TRAP ON hiba x = FILEOPEN ‘a.txt’ READ WHILE FILENEXT(x) DO FILEVIEW x m1,… DOEND hiba: FILECLOSE x
18
ODBC adatbázis kapcsolat ODBC DSN = ‘dsn’ (SQLCODE) SQL CONNECT nev jelszó SQL CLOSE SQL DECLARE x CURSOR FOR sql-parancs SQL OPEN x SQL FETCH x INTO :v1,… SQL PREPARE p FROM sql-parancs SQL EXECUTE p Personal Express programozása
19
VARIABLE sv TEXT ODBC.SOURCE = ‘mydb’ SQL CONNECT … SQL DECLARE c CURSOR FOR SELECT nev FROM megye SQL OPEN c WHILE SQLCODE EQ 0 DO SQL FETCH c INTO :sv MAINTAIN megyek ADD sv DOEND SQL CLOSE c SQL DISCONNECT
20
Kitekintés az Oracle OLAP termékre Megőrizte a (Personal) Express-ben megalkotott koncepciókat A parancsok jelentése és formátuma is megmaradt A programozási környezet is megmaradt (SPL) Kiterjesztett funkciók, több új függvény Java API DBMS-be integrált (LOB)
21
Feladatok
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.