1 / 21

SQL – OLAP 5. óra

SQL – OLAP 5. óra. 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. Personal Express programozása.

Download Presentation

SQL – OLAP 5. óra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL – OLAP5. ó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 p1 Második mintaprogram : Paraméter visszaírása ARGUMENT a1 text ” proba program SHOW a1 WINDOW

  4. Personal Express programozása 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

  5. Personal Express programozása Vezérlési szerkezetek IF kifejezés WHILE kifejezés THEN DO DO … ... DOEND DOEND SWITH kifejezés FOR dimenzió DO DO CASE v1 … BREAK DOEND DEAFULT DOEND

  6. Personal Express programozása Harmadik mintaprogram : Egész szám beolvasása és ennyiszer üzenet kiírása 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

  7. Personal Express programozása Negyedik mintaprogram : új dimenzió érték felvitele 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

  8. Personal Express programozása 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 …)

  9. Personal Express programozása Ötödik mintaprogram : ciklus a dimenzió értékekre, kocka szeletek összegzése FOR product DO SHOW JOINCHARS(STATLIST(product),‘= ‘, CONVERT(TOTAL(sales),TEXT)) WINDOW DOEND

  10. Personal Express programozása 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

  11. Personal Express programozása regresszió számítás REGRES függő függetlenek WEIGHTBY súly 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|x1 x2..) = F(x1,x2,.., 1, 2,..) y = F(x1,x2,.., 1, 2,..) +  lineáris regresszió : a paraméterekben lineáris az F függvény y = 1 x1 + 2 x2 + 3 +  y = 1 x1 + 2 x2 + 3 + 4x12 + 5 x22 +  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: yi = 1 xi1 + 2 xi2 + 3 + i i = yi - (a1 xi1 + a2 xi2 + a3 ) E(i ) = 0  i2  minimális a szélsőérték szükséges feltétele a deriváltak zérus értéke a1 i(yi - (a1 xi1 + a2 xi2 + a3 ))2 = 0 a2 i(yi - (a1 xi1 + a2 xi2 + a3 ))2 = 0 a3 i(yi - (a1 xi1 + a2 xi2 + a3 ))2 = 0

  13. Personal Express programozása egy változós esetre: a1 i(yi - (a1 xi+ a2 ))2 = 0 a2 i(yi - (a1 xi+ a2 ))2 = 0 a1 i(yi2 + a12 xi2 + a22 + 2 a1 a2 xi – 2 yi a1 xi- 2 yi a2 ) = 0 a1 i(a12 xi2 + 2 a1 a2 xi – 2 yi a1 xi + a22 - 2 yi a2 +yi2) = 0 a2 i(a22 + 2 a1 a2 xi – 2 yi a2 + a12 xi2 - 2 yi a1 xi+yi2) = 0 a1ixi2 + a2 i xi – i yi xi= 0 a2 n + a1 ixi – iyi = 0 a1 =( n ixi yi - ixiiyi ) / (n ixi2 - ixiixi ) a2 =( iyi – a1 ixi ) / n

  14. Personal Express programozása DEFINE sdi DIMENSION text MAINTAIN sdi ADD ‘p1’ … MAINTAIN sdi ADD ‘p4’ DEFINE x VARIABLE integer <sdi> DEFINE fx VARIABLE integer <sdi> LIMIT sdi TO ‘p1’ x = 1 fx = 8 … LIMIT sdi TO ‘p4’ x = 4 fx = 2 fx x

  15. Personal Express programozása REGRESS.REPORT fx x x

  16. Personal Express programozása A változók, a programállapot verembe menthető PUSH változó POP változó Hard-copy készíthető OUTFILE filenév OUTFILE EOF Hibakezelés: TRAP ON címke ERRORNAME ERRORTEXT SIGNAL hibanév TRACE file PRGTRACE = YES

  17. Personal Express programozása Közvetlen állomány kezelés (szöveges állomány) X = FILEOPEN (fnév mód) FILECLOSE x FILEVIEW x mező1 mező2 VARIABLE x integer TRAP ON hiba x = FILEOPEN ‘a.txt’ READ WHILE FILENEXT(x) DO FILEVIEW x m1,… DOEND hiba: FILECLOSE x

  18. Personal Express programozása 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

  19. Personal Express programozása 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

More Related