Professional Documents
Culture Documents
MATEMATIKI FAKULTET
Nevena Joksi
Primena OLAP tehnika u analizi otplate duga klijenata Banke Potanske tedionice a. d.
Master rad
4. OLAP....................................................................................... 14
1. INTELIGENTNO POSLOVANJE
Inteligencija ili intelekt (lat. Intellectus) je mentalna osobina koja se sastoji od vie sposobnosti: uenje iz iskustva, adaptiranje na nove situacije, shvatanje i razumevanje novih situacija i korienje steenog znanja u interakciji sa okruenjem. Korienjem ovog tumaenja, pojam poslovne inteligencije odnosno inteligentnog poslovanja se moe definisati kao proces prikupljanja najrazliitijih podataka, njihovo pretvaranje u korisne informacije, koje mogu da pomognu poslovnim korisnicima u donoenju odluka. Inteligentno poslovanje je posebno poelo da se razvija kada su preduzea poela da automatizuju svoje poslovne procese. Postojei transakcioni sistemi su se pokazali kao savreni generatori velikih koliina podataka. Podaci su se vremenom sve vie gomilali, ali se javio veliki problem - do tih podataka je bilo sve tee doi. Bilo je jasno da u tim podacima lei ogroman potencijal, pa se javila potreba da se oni nekako objedine, obrade i stave na raspolaganje rukovodstvu. Tako je nastalo inteligentno poslovanje, koje se, sa tehnike strane, najjednostavnije moe opisati kao proces u kome se podaci pretvaraju u informacije. Informacije su rezultat analize i organizovanja podataka tako da se od se od njih dobija neko novo saznanje. Znanje je odgovarajui skup informacija. Na osnovu postojeeg znanja, mogu se donositi poslovne odluke. Odluke Znanje Informacije Podaci
Slika 1: Proces donoenje odluka od raspoloivih podataka Prednosti koje donose sistemi inteligentnog poslovanja su: analiza poslovanja, analiza klijenata, bolja kontrola trokova poslovanja, nadzor poslovanja, brzo reagovanje, predvianje buduih trendova, jednostavni grafiki prikazi, jednostavno pravljenje i korienje izvetaja... Na tritu donoenje pravovremenih odluka omoguava pruanje boljih usluga klijentima, izdizanje iznad konkurencije, a na osnovu toga i poveanje profita. Sistem inteligentnog poslovanja omoguuje istorijske, sadanje i budue poglede na poslovne procese. Zajednike funkcije sistema poslovne inteligencije su: izvetavanje, OLAP analitike, istraivanje podataka, upravljanje poslovnim procesom, testiranje karakteristika sistema itd. Cilj sistema inteligentnog poslovanja je da pomognu prilikom odluivanja.
2. ANALIZA PODATAKA
Jezgro svake poslovne aktivnosti je obrada informacija. To ukljuuje skupljanje, uvanje i obradu podataka. Znaaj dobre informacije je u razlici izmedju donoenja ispravne i pogrene odluke. Dobra informacija mora da bude tana, blagovremena i razumljiva.
OLAP omoguuje brz, interaktivan pristup podacima, pruajui irok spektar razliitih multidimenzionih pogleda na podatke. Povezani poslovni pojmovi se analiziraju preko dimenzija. Ideja ovog pristupa je u tome da poslovanje preduzea, a i funkcionisanje ljudskog uma poiva na viedimenzionalnosti. Recimo, ako je potrebno da se analizira prodaja, onda elimo da je analiziramo u vremenu, po regijama, po prodajnim mestima, po kupcima, po artiklima... Navedeni pojmovi su, u stvari, razliite dimenzije pojma prodaja. Osnovna razlika izmeu OLAP-a i istraivanja podataka je u samom pristupu podacima. OLAP alati omoguuju viedimenzione analize, koje obuhvataju ralanjavanje podataka na sitnije detalje, kao i njihovo sumiranje. Istraivanje podataka je, s druge strane, prouavanje odnosa meu podacima i ponalaenje nekih obrazaca i meusobnog uticaja podataka. OLAP i istraivanje podataka mogu zajedno da se koriste kao veoma mono sredstvo za analizu. U ovom radu najvie panje e biti posveeno OLAP-u, a za to je potrebno prvo objasniti pojam multidimenzionalnosti podataka.
3. MULTIDIMENZIONI PODACI
Organizovanjem podataka u viedimenzione strukture postie se njihovo maksimalno iskoriavanje u smislu dobijanja potrebnih informacija. Mogue je njihovo analiziranje iz razliitih perspektiva, a cilj je dobijanje odgovora na razliita poslovna pitanja. Sloeni podaci se predstavljaju u obliku koji je jednostavan za razumevanje krajnjem korisniku. Pristup podacima preko odgovarajuih dimenzija omoguuje da korisnici prave svoje analize na brz i jednostavan nain. Na primeru prodaje se mogu uoiti sledee dimenzije: mesec, grad i proizvod, kao to je prikazano na Slici 2.
P r o i z v o d
Grad Mesec
Svi proizvodi i gradovi za jedan mesec Slika 2: Razliiti pogledi na iste podatke Na istom primeru je moe da se uoi jo jedna dimenzija - kupac. Tako se dobija etvorodimenziona struktura, koju je tee grafiki prikazati. Dodatno, sve dimenzije mogu da imaju vie nivoa. Naredna slika predstavlja primer viedimenzione strukture podataka.
Slika 3: Primer analize viedimenzione strukture podataka Iz ovakve strukture podataka se jednostavno mogu dobiti odgovori na pitanja tipa: kakva je bila prodaja neke linije proizvoda tokom maja meseca za sve kupce po gradovima prodajnih mesta (oznaeno punom linijom na Slici 3), koje proizvode su kupci iz Meksika kupovali tokom juna (to je obeleeno isprekidanom linijom), itd.
Slika 4: ema zvezde Tabele injenica i dimenzija se razlikuju samo po nainu korienja u emi zvezde. Njihova fizika struktura i SQL sintaksa koja se koristi za njihovo formiranje je identina. U sloenijim emama jedna ista tabela moe da bude i tabela injenica i dimenziona tabela, samo u zavisnosti toga na koji nain joj se vri obraanje u upitu. Razlika izmeu tabele injenica i dimenzione tabele je u logikom smislu. Da bi se razlika uoila, treba da se shvati kako analitiar posmatra poslovni proces: radnik u prodaji analizira prihod po kupcu, proizvodu, prodajnom mestu i vremenskom periodu; finansijski analitiar uporeuje ostvarene rezultate sa budetom na nivou pojedinanih stavki, po proizvodu i vremenskom periodu; radnik u marketingu kontrolie isporuku robe po proizvodu, tritu i vremenskom periodu. Ono to e biti analizirano u ovim sluajevima je: profit, budet, isporuka robe i nalazie se u tabeli injenica. Dimenzije ovih poslovnih procesa su: proizvod, prodajno mesto, vremenski period, linija proizvoda. Na primer, tabela injenica za bazu podataka o prodaji, koja implementirana pomou eme zvezde, moe da sadri podatke o zaradi od prodaje svih proizvoda tog preduzea za svakog kupca i sva prodajna mesta tokom nekog vremenskog perioda. Tabele dimenzija definiu kupce, proizvode, prodajna mesta i vremenski period. Dobro dizajnirana ema zvezde omoguuje korisniku da prikae podatke iz baze i da radi upite nad njima na razumljiv i jednostavan nain. 3.2.1.1 Jednostavna ema zvezde Svaka tabela u emi zvezde treba da ima primarni klju. Kod jednostavne eme zvezde primarni klju tabele injenica se sastoji iz jednog ili vie stranih kljueva. Na sledeoj slici je dat primer jednostavne eme zvezde:
Slika 5: Jednostavna ema zvezde U Sales table primarni klju se sastoji iz tri kolone, odnosno tri strana kljua Period_id, Product_id, Market_id, koji se odnose na primarne kljueve dimenzionih tabela: Period table, Product table, Market table. 3.2.1.2 Viestruka tabela injenica ema zvezde moe da sadri vie tabela injenica. Recimo, kada tabele injenica nisu srodne, logino je da podaci stoje u odvojenim tabelama: npr. prodaja i rauni. Vie tabela injenica se esto javlja i u sluajevima kada je potrebno poboljati performanse, ili kada se uvaju razliiti nivoi sumarnih podataka - dnevna prodaja, mesena, godinja. Sledea slika prikazuje bazu prodaje koja ukljuuje dodatnu tabelu injenica koja sadri podatke od prethodne godine.
Takoe, jedna dimenzija se moe sastojati iz vie tabela. Npr. svaki proizvod pripada jednoj ili vie grupa proizvoda, a svaka grupa sadri vei broj broizvoda (Product/Group table i Group table), kao to je prikazano na slici:
Slika 7: ema zvezde sa odnosnim tabelama Mogue je da dimenziona tabela sadri jedan ili vie stranih kljueva koji se odnose na primarne kljueve drugih dimenzionih tabela. Tada se spoljna dimenziona tabela ne vezuje direktno sa tabelom injenica, nego preko druge dimenzione tabele:
Slika 8: ema zvezde sa spoljnim tabelama U ovom sluaju Market table moe biti i tabela injenica i dimenziona tabela, u zavisnosti od toga kako se koristi u upitu. 3.2.1.3 Viestruka ema zvezde U jednostavnoj emi zvezde primarni klju tabele injenica ini skup stranih kljueva stranih tabela. U nekim sluajevima skup stranih kljueva nee obezbediti jedinstvenost svakog reda tabele injenica. Tada se javlja potreba za viestrukom emom zvezde. U emi na slici primarni klju tabele injenica ine Key1, Key2 i Fkey1, a Key1i Key2 se ne odnose ni na jedan primarni klju dimenzione tabele.
10
Slika 10: ema pahulje Postavlja se pitanje da li odabrati emu pahulje ili emu zvezde. Ukoliko je prioritet to manje zauzee memorijskog prostora, onda treba izabrati emu pahulje, zato to su u tom sluaju dimenzione tabele u 3NF, a ako su prioritet bolje performanse, treba izabrati emu zvezde zato to se tada koristi manji broj stranih kljueva i ima manje spajanja tabela. Upiti kod eme zvezde su jednostavniji za razumevanje i bri za izvravanje, ali je ema pahulje jednostavnija za odravanje, jer nema dupliranja podataka.
11
3.3 Hijerarhije
Razliiti nivoi jedne dimenzije ine jednu njenu hijerarhiju. Kod eme zvezde ti nivoi mogu biti u jednoj tabeli, a kod eme pahulje su u razliitim tabelama. Npr. hijerarhiju vremenske dimenzije inili bi nivoi : dan, mesec, godina. Neki od tipova hijerarhija su: Balansirana hijerarhija (eng. balanced) je ona kod koje nivoi imaju povezano znaenje, i svako dete ima tano jednog roditelja na nivou iznad. Ova hijerarhija moe da se primeni na vremensku dimenziju, kao to je prikazano na Slici 11.
Slika 11: Balansirana hijerarhija Nebalansirana hijerarhija (eng. unbalanced) je ona kod koje svako dete ima jednog roditelja, ali nivoi nemaju povezano znaenje. Na sledeoj slici je prikazan primer nebalansirane hijerarhije: Proizvod A se sastoji od proizvoda X i Y i komponente Z; komponenta Z se sastoji od komponente E i dela F; proizvod X se sastoji od komponenata J i K, a komponenta K od delova W1 i W2.
Slika 12: Nebalansirana hijerarhija Neusklaena hijerarhija (eng. ragged) je tip hijerarhije kod koje svako dete ima jednog roditelja, nivoi imaju povezano znaenje, ali roditelj ne mora da se nae na nivou neposredno iznad nivoa deteta. Ova hijerarhija moe da se primeni na dimenziju lokacije, kao to je prikazano na sledeoj slici.
12
Slika 13: Neusklaena hijerarhija Hijerarhija mree (eng. network) je tip hijerarhije kod koje dete moe da ima vie od jednog roditelja. U ovom sluaju primer moe da bude porodino stablo.
13
4. OLAP
4.1 OLTP
OLTP (eng. On Line Transsaction Processing) oznaava obrade pri kojima sistem u kratkom vremenskom periodu odgovara na zahtev korisnika. U procesu poslovanja, javlja se potreba za izradom izvetaja koji bi pomogli rukovodstvu u donoenju odluka. Problemi kod OLTP sistema prilikom izvetavanja su sledei: pristup podacima je komplikovan, obrada podataka usporava poslovne transakcije, podaci su razliiti i sloeni. Izvetaji se izrauju pomou upitnog jezika. Za to je potrebno odlino poznavanje baze podataka i potpuno vladanje upitnim jezikom. Za realizaciju vrlo sloenih upita je potrebno dugo vreme odziva, a obim podataka koji se mogu uzeti u obzir je ogranien. Edgar Kod, autor relacionog modela baza podataka, je definisao pojam OLAP-a 1993. godine. Svrha OLAP alata je analiza i obrada podataka i izrada izvetaja koji e biti od koristi za strateko upravljanje. Dolazi se do novog pogleda na postojee podatke. Razlike izmedju dotadanjeg i novog pristupa su prikazane u narednoj tabeli: OLTP korisnici funkcija dizajn baze podataka slubenici svakodnevne operacije aplikativno orijentisana, visoko normalizovana baza sa vie tabela OLAP pametan korisnik podrka odluivanju orijentisana prema oblasti korienja, denormalizovana baza sa manje tabela, sa korienjem eme zvezde ili pahulje istorijski, sumarni, skupljeni iz raznih OLTP baza podataka ad hok mnogo pregleda sloeni upiti milioni stotine 100 GB- TB
podaci
operativni, originalni izvor podataka esto, ponavlja se itanje/pisanje kratka, jednostavna transakcija desetine hiljade 100 MB- GB
korienje pristup jedinica posla broj slogova kojima se pristupa broj korisnika veliina baze
14
15
16
Slika 16: Operacija seenja OLAP kocke na pojaseve Komadanje je izdvajanje podataka za uslove po dve ili vie dimenzija. Na sledeoj slici je prikazana prodaja telefona za 2000. godinu u Severnoj Americi.
Slika 17: Operacija komadanja OLAP kocke Buenje predstavlja detaljizaciju kocke, sputanjem po hijerarhiji dimenzije. Na sledeoj slici je prikazana kombinacija operacija komadanja (prikaz prodaje telefona u Severnoj Americi 2000.godine) i buenja (vremenska dimenzija je prikazana po kategoriji kvartala, lokacija po dravama, a grupe proizvoda po pojedinanim vrstama).
17
Slika 18: Kombinacija operacija komadanja i buenja OLAP kocke Zavijanje je suprotna operacija od buenja, tj. predstavlja izdvajanje podataka penjanjem po hijerarhiji neke od dimenzija. Rotacija se u literaturi naziva i pivotiranje. Predstavlja vizuelizaciju kocke okretanjem dimenzionih osa radi alternativnog prikaza podataka (Slika 19).
18
4.6.1 MOLAP
MOLAP kao osnovu ima multidimenzionu bazu podataka (eng. Multidimensional Data Base - MDDB). Osnovni stav pristalica ove arhitekture je da podaci moraju da budu uvani u multidimenzionim strukturama da bi pogled na njih bio multidimenzionalan. Multidimenziona baza se puni podacima iz razliitih izvora pomou serije grupnih, pozadinskih (eng. batch) obrada. Kada se jednom MDDB napuni atominim podacima, potrebno je da se uradi niz pozadinskih izraunavanja du dimenzija i da se tim vrednostima dopune nizovi u MDDB. Nakon popunjavanja nizova, primenjuju se razliiti algoritmi koji poboljavaju performanse upita. Kada se jednom uradi proces kompilacije, MDDB je spremna za korienje. Korisnik zahteva OLAP izvetaj preko interfejsa, dok logiki aplikativni nivo MDDB pronalazi
19
sauvane podatke. Prilikom pravljenja izvetaja se itaju podaci dobijeni prekompilacijom, a mogunosti dinamikih izraunavanja vrednosti koje nisu dobijene prekompilacijom su ograniene. MOLAP predstavlja klijent server arhitekturu. U ovom tipu arhitekture MDDB obuhvata nivo baze podataka, kao i aplikativni, odnosno logiki nivo. MDDB sistem je odgovoran za uvanje podataka, pristup podacima i njihovo pronalaenje. Na aplikativnom nivou, MDDB je zaduen za izvravanje svih OLAP zahteva. Nivo prikaza integrisan sa ovim nivoom formira interfejs preko koga krajnji korisnik daje zahteve i gleda rezultate OLAP analize. Klijent - server arhitektura omoguuje da vie korisnika pristupa istoj multidimenzionoj bazi. Prikaz MOLAP arhitekture je dat na sledeoj slici:
4.6.2 ROLAP
ROLAP radi direktno sa relacionim bazama podataka. Osnovni stav pristalica ove arhitekture je da se korienjem relacione baze podataka maksimalno iskoriavaju sve mogunosti OLAP-a. Pomou odgovarajuih rutina nad bazom se dobijaju agregirani podaci, ukoliko model podataka to zahteva. Nakon toga se formiraju odgovarajui indeksi nad tabelama koji e poboljati performanse upita . Kada krajnji korisnik uputi zahtev za analizu, on se dinamiki transformie u niz SQL naredbi. SQL naredbe se prosleuju relacionoj bazi na izvrenje, a korisniku se prosleuje rezultujui multidimenzioni skup. ROLAP omoguuje prethodno izraunavanje, kao i dinamiko generisanje rezultata od atominih podataka kada je to potrebno. Sistem dizajneru se preputa optimizacija u smislu pronalaenja odgovarajueg odnosa izmeu koliine prethodnih pozadinskih obrada i skraenja vremena odziva prilikom postavljanja upita za dobijanje izvetaja.
20
ROLAP je je takoe realizovan u obliku klijent server arhitekture. Na nivou baze se vri uvanje podataka, pristup podacima, kao i njihovo pronalaenje. ROLAP ukljuuje relacionu mainu koja predstavlja aplikativni logiki nivo OLAP sistema i omoguuje formiranje multidimenzionih izvetaja od strane velikog broja korisnika. ROLAP je povezan sa nivoom na kome se vri prikaz podataka, preko koga krajnji korisnici vre OLAP analize. Prikaz ROLAP arhitekture je dat na sledeoj slici:
21
vie zahteva za pozadinskim obradama. Proces kompilacije podataka obuhvata sledee: Izdvajanje atominih podataka iz transakcionog sistema. Agregiranje atominih podataka Indeksiranje atominog i agregiranog nivoa podataka, da bi se skratilo vreme odziva prilikom postavljanja upita
Veza izmeu stepena kompilacije i zahtevanih resursa predstavlja nelinearnu funkciju zahteva za pozadinskim obradama (kriva Batch Requirements na narednoj slici). to je vei stepen kompilacije, to je potrebno vie pozadinskih obrada, tj. potrebno je vie procesorskog vremena. Funkcija performansi upita je takoe nelinearna funkcija zavisnosti potrebnih resursa od stepena kompilacije (kriva Query Requirements na Slici 22), ali u ovom sluaju, to je vei stepen kompilacije, to su bolje performanse upita, a samim tim je potrebno manje procesorskog vremena za njegovo izvravanje. Sabiranjem ove dve funkcije dobija se rezultujua kriva (Total Requirements na narednoj slici) koja predstavlja ukupno optereenje procesora u zavisnosti od stepena kompilacije.
Slika 22: Analiza mogunosti implementacije OLAP sistema Horizontalna linija (Maximum Resources) na prethodnoj slici pokazuje maksimalni raspoloivi nivo procesorskih resursa na serveru. Treba da se primeti da e porast, odnosno smanjenje snage serverskog hardvera uticati na pomeranje ove granice. OLAP sistem moe da se realizuje u granicama izmeu ukupnih zahteva za procesorom i rapoloivih procesorskih resursa, to je prikazano rafiranom oblasti (Operational Envelope) na prethodnoj slici. Karakteristine take te oblasti su: Cb predstavlja stepen kompilacije na kom su minimizovani zahtevi za pozadinskim obradama, Cq predstavlja stepen kompilacije gde se postiu najbolje performanse
22
upita, Co optimalna taka izmeu performansi upita i koliine zahteva za pozadinskim obradama. Treba uoiti da se u takama Cb i Cq postie 100% iskorienost procesora, dok je u taki Co njegovo minimalno optereenje. Promenljive koje utiu na dizajn OLAP sistema su: Hardver servera: Poveanjem procesorske snage dolazi do poveanje nivoa Maximum Resources krive, a samim tim omoguuje se vea fleksibilnost prilikom dizajniranja OLAP sistema. Smanjenje procesorske snage e izazvati suprotan efekat. Performanse upita: Sloeniji upiti, kao i eto postavljanje upita utiu na rast Query Requirements krive, to smanjuje povrinu oblasti Operational Envelope za realizovanje OLAP sistema. Jednostavniji upiti, kao i smanjenje frekvencije njihovog postavljanja dovee do suprotnog efekta. Broj dimenzija: Poveanje broja dimenzija u sistemu prouzrokovae rast Total Requirements krive zbog potrebe za veim brojem pozadinskih obrada, kao i zbog komplikovanja upita, a samim tim e doi do smanjenja fleksibilnosti prilikom dizajniranja OLAP sistema. Smanjenjem broja dimenzija se prouzrokuje suprotan efekat. Obim atominih podataka: Rast koliine atominih podataka e poveati potrebno procesorsko vreme za sve operacije, a samim tim e doi do rasta Total Requirements krive, odnosno do smanjenja fleksibinosti prilikom dizajniranja sistema. Smanjenje obima podataka e dati suprotan efekat. Promenljivost podataka: Ukoliko se pravila agregacije atominih podataka esto menjaju ili ako korisnici mogu da definiu svoja sopstvena pravila, Batch Requirements kriva e biti znatno strmija. To e dovesti do smanjenja mogunosti prilikom dizajniranja OLAP sistema.
Od pet navedenih promenljivih, menjanje obima atominih podataka, hardverska sposobnost, promenljivost podataka i zahtevi krajnjih korisnika linearno utiu na krive prikazane na prethodnoj slici. Dimenzionalnost ima eksponencijalni uticaj na zauzee procesora kod poveanja broja kompilacija.
Naime, zaposleni menjaju radna mesta, a proizvodi menjaju svoje kategorije. ROLAP sistem moe da bude implementiran za bilo koji stepen kompilacije i zbog toga moe da podrri visok stepen promenljivosti podataka. MOLAP zahteva visok stepen kompilacije i zato se ne moe primeniti na sisteme sa vrlo promenljivim podacima. Na sledeim slikama je prikazana mogunost implementacije ROLAP-a i MOLAP-a u zavisnosti od promenljivosti podataka:
Slika 23: Mogunost imlementacije ROLAP-a i MOLAP-a kod male promenljivosti podataka
Slika 24: Mogunost imlementacije ROLAP-a i MOLAP-a kod velike promenljivosti podataka
to se tie dimenzionalnosti OLAP sistema, naredna tri primera e ilustrovati efekat poveanja broja dimenzija za uzet model podataka i sposobnosti ROLAP i MOLAP sistema da to podre. Sa tri dimenzije u modelu podataka, zahtevi za pozadinskim obradama su relativno mali. Sa adekvatnim resursima, mogue je postii visok stepen kompilacije i na taj nain omoguiti kratko vreme odziva prilikom postavljanja upita. U ovom sluaju, obe arhitekture e efikasno raditi nad trodimenzionalnim modelom podataka, to je prikazano na sledeoj slici:
24
Slika 25 : Implementacija ROLAP i MOLAP arhitekture u sluaju sistema sa tri dimenzije Model podataka sa deset dimenzija porastom stepena kompilacije zahteva vee zauzee procesora zbog poveanih zahteva za pozadinskim obradama. Potpuna kompilacija (100%) u ovom sluaju nije dostina, pa MOLAP sistem nije adekvatan izbor. ROLAP sistem sa 50% do 60% kompilacija je dobar izbor. Grafiki prikaz je dat na sledeoj slici:
Slika 26: Implementacija ROLAP i MOLAP arhitekture u sluaju stema sa deset dimenzija U sluaju da model podataka ima trideset dimenzija, MOLAP arhitektura nije mogue reenje zato to je vreme potrebno za kompilaciju multidimenzione baze mnogo vee od raspoloivog procesorskog vremena. Jedini mogui izbor u ovom sluaju je ROLAP arhitektura sa malim stepenom kompilacije. Grafiki prikaz je dat na sledeoj slici:
25
Slika 27: Implementacija ROLAP i MOLAP arhitekture u sluaju stema sa trideset dimenzija Za datu koliinu atominih podataka, stepen kompilacije je kljuna stvar za veliinu baze. to je vei broj kompilacija atominih podataka u vie agregatne nivoe, veliina baze se poveava. ROLAP arhitektura moe da podri vei obim atominih podataka od MOLAP arhitekture. Na kraju moe da se zakljui da je ROLAP dobar izbor arhitekture koji moe da prui osnovu najirem skupu sistema koji daju podrku odluivanju i da podri najvei broj OLAP zahteva. MOLAP moe biti dobro reenje za sisteme sa malim obimom podataka i sa ogranienom dimenzionalnou.
26
Podravanje meta podataka informacije o relacionim podacima se uvaju u meta objektima koji obezbeuju novi pogled na te podatke. Neki meta objekti predstavljaju osnov za direktan pristup relacionim podacima, dok drugi opisuju veze izmeu osnovnih meta objekata. Svi meta objekti mogu da se grupiu preko svojih veza u nov meta objekat dimenzioni model (model kocke).
Na osnovu navedenih kriterijuma, primat na tritu su do 2006. godine imali OLAP alati sledeih proizvoaa [14]: Microsoft, Hyperion, Cognos, MicroStrategy i Business Objects, kao to je prikazano na sledeoj slici:
Slika 28: Stanje na tritu OLAP alata u periodu od 1999. do 2006. godine 2007. godine je dolo do znaajnih promena na tritu OLAP alata. Naime, Oracle je kupio Hyperion, SAP je kupio Business Objects, a IBM je kupio Cognos. Dodatno, tendencija je da OLAP alati vie ne postoje samostalno, ve da predstavljaju sastavni deo BI proizvoda, tako da vie nije mogue izraunati prisutnost pojedinih proizvoaa na tritu sa tanou kao prethodnih godina.
27
28
6. REALIZACIJA REENJA
29
Formiranje servera da bi se definisao izvor podataka za objedinjeni sistem. Podaci o serveru obuhvataju ime servera, tip servera, verziju, ime omotaa, informacije o ovlaenjima i opcijama servera. Preslikavanje korisnikih imena. Formiranje nadimka za svaku tabelu i pogled u izvoru podataka. Nadimci identifikuju izvorne tabele i poglede na podatke. Aplikacije mogu da ih referenciraju u upitima samo pomou dodeljenih naziva, a ne po njihovom pravom imenu. Krajnjim korisnicima ovi dodeljeni nazivi izgledaju kao aliasi. Pravljenje upita nad tabelama korienjem nadimaka.
Da bi se dobio dimenzioni model, ove podatke treba izdvojiti, preistiti i organizovati tako da se dobije ema zvezde ili ema pahulje. U ovakvoj emi e podaci biti grupisani u tabele koje e biti u meusobnoj zavisnosti preko primarnih i stranih kljueva. Na poetku postupka se izdvajaju podaci iz tabela o predmetima iz Pravne slube kojima je datum ustupanja (datum predaje predmeta Pravnoj slubi) u navedenom periodu (u daljem tekstu, tabela T3). Ukoliko dug nije bio otplaen u istom periodu, datum otplate se postavlja na 01.01.0001. Za raune koji se nalaze u predmetima su izdvojene sve transakcije iz tabela istorije koje su se desile u periodu izmeu datuma ustupanja i datuma otplate (ako je datum otplate 01.01.0001, onda se posmatraju transakcije do kraja 2008. godine). Od tih podataka e biti formirana tabela injenica oznaena kao tabela T1. Kolone koje ine ovu tabelu su: Broj rauna, Datum, Mesto, Vrsta promene, Vrsta dokumenta, Iznos promene i Broj transakcija. Primarni klju je Broj rauna, Datum, Mesto, Vrsta promene i Vrsta dokumenta. Iznosi promena svih transakcija koje su istog tipa (ista vrsta promene i vrsta dokumenta) za isti raun, datum i mesto e se posmatrati u zbiru. Taj zbir e biti upisan u kolonu Iznos promene, a broj transakcija koje ga ine e biti upisan u kolonu
30
Broj transakcija. Iznos promene i Broj transakcija predstavljaju mere ove tabele injenica, na koje e se primenjivati agregatne funkcije sumiranja. Kolona Datum se odnosi na vremensku dimenziju i zbog toga treba da se formira sledea vremenska tabela, iji je primarni klju Date_time_value, a kolone koje je ine su: Date_time_value, Day_of_month, Day_of_week, Day_of_year, Hour_of_day, Julian_day, Month_of_year, Name_of_day, Name_of_month, Period_num, Quarter_of_year, Sequence_num, Week_of_monthi, Week_of_year i Year. Ova tabela je formirana u Warehouse Center-u koji se nalazi u lokalnoj mrei i obuhvata vemenski period od 01.01.2007. do 31.12.2008. godine. Njoj se pristupa pomou tzv. Objedinjenih sistema koji su opisani u prethodnom odeljku. Iz nje su izdvojene sledee kolone: Date_time_value, Day_of_month, Name_of_month, Quarter_of_year i Year i njihove vrednosti su upisane dimenzionu vremensku tabelu koju ine sledei atributi: Datum, Dan, Mesec, Kvartal i Godina. Dimenziona tabela koja sadri tipove tansakcija je oznaena kao tabela T2. Primarni klju ove tabele ine dva atributa: Vrsta promene i Vrsta dokumenta. Ona se koristi u praenju uplata (vrsta promene=1) i isplata(vrstapromene=2). U principu, ne bi smelo da doe do isplate po tekuem raunu koji je predmet Pravne slube, ali to moe da se dogodi ako ekovi, rate kredita ili zaduenja po kreditnim karticama dospeju na naplatu. Postoji jedna specifina situacija: ako se dogodi da je korisnik imao uplatu koja je vea od njegovog duga, raun mu gubi status blokiran i moe da se izvri isplata ostatka novca. Takav raun dobija status otplaen dug nakon izvrene isplate. Isplate sa takvog rauna bie obuhvaene u analizi kao transakcija koja se izvrila u periodu od ustupanja rauna pravnoj slubi i do postavljanja statusa otplaen dug. Naknade i kamate takoe kao vrstu promene imaju vrednost 2 (isplata), i novac se skida sa rauna, ali u korist Banke. Atributi tabele T2 su: Vrsta promene, Vrsta dokumenta i Opis. to se tie mesta vrenja transakcije, potrebno je da se razmotre vrste promena i vrste dokumenata, pa da se na osnovu toga vidi da li je to polje adekvatno popunjeno. Ukoliko je transakcija gotovinska i ako je uraena preko druge banke, prilikom primanja datoteka sa podacima o transakciji, ne dobija se precizan podatak o njenoj lokaciji. U tom sluaju, za vrednost atributa Mesto u tabeli T1 se uzima 0. U sluaju bezgotovinskih transakcija nije merodavno uzimanje ifre lokacije, poto ona ne predstavlja mesto na kom se transakcija desila (recimo, u sluaju uplate zarada, u ifri lokacije je ifra preduzea koje je uplatilac). I u ovom sluaju je vrednost atributa Mesto jednaka 0. Smatrae se da su potanski broj, optina i region za Mesto ija je vrednost 0 takoe jednaki 0. Izuzetak kod bezgotovinskih transakcija predstavljaju razne naknade, kamate, rate kredita i zaduenja po kreditnoj kartici, koja se obraunavaju i skidaju sa rauna pozadinskim obradama. Kod njih ifre mesta imaju razliite vrednosti, ali e sve biti objedinjene i posmatrane kao ifra Centrale Banke. U sluaju da se transakcija izvri u Banci Potanskoj tedionici, u polju Mesto e se nalaziti odgovarajua ifra lokacije. Na osnovu te ifre, a pomou prethodno navedene tabele ifara ekspozitura, odreuje se pripadnost ifre lokacije potanskom broju. Ako je transakcija izvrena u Poti, ifra (Mesto) e imati vrednost potanskog broja. Iz tabela pota i regiona mogu da se dobiju podaci o optini i regionu kom ti potanski brojevi pripadaju. Na taj nain se dobija tabela koja predstavlja dimenziju lokacije, iji je primarni klju Mesto. Njene kolone su: Mesto, Potanski broj, Naziv pote, Optina, Naziv optine, Region i Naziv regiona.
31
Tek nakon ove analize koja se odnosi na vrednosti kolone Mesto u tabeli T1, mogue je da se ona napuni podacima, poto se sumiranje iznosa i brojanje transakcija vri i po toj koloni. Prethodno opisane tabele ine emu zvezde koja je prikazana na slici:
Slika 29: Prva ema podataka Iz ove eme zvezde mogu da se dobiju odgovori na sledea pitanja, na navedene naine: 1. Kolika je ukupna suma uplata za predmete Pravne slube? Uzima se suma promena sa uslovom ogranienja da je vrsta promene uplata. U pitanju je operacija seenja po dimenziji tipa transakcije. 2. Kolika je suma uplata na nekoj lokaciji pojedinano posmatrano po mesecima? Uzima se suma promena, sa uslovom ogranienja za tu lokaciju i vrstu promene uplatu, a grupisanje podataka se vri po vremenskoj dimenziji. Ovo predstavlja kombinaciju operacija komadanja (izdvajanje podataka za uslove po dve i vie dimenzija) i buenja (vremenska dimenzija se posmatra po kategoriji meseci). 3. Kolika je suma isplata za neki vremenski period, ali samo za odreene vrste dokumenata? Uzima se suma promena, uslovi ogranienja su traeni vremenski period, za vrstu promene isplatu i za navedene vrste dokumenata. 4. Koliko je uplata bilo u martu 2008. godine na podruju Nia ija je vrsta dokumenta 22?
32
Sabira se broj transakcija, uslovi ogranienja su: godina 2008, mesec mart, naziv optine je Ni, vrsta promene je uplata i vrsta dokumenta je 22. 5. Kolika je suma uplata bila u januaru 2007. u Somboru, ali sa odvojenim prikazom po potanskim brojevima u optini Sombor? Sumiraju se promene sa uslovom ogranienja da su transakcije izvrene u optini Sombor, u toku januara 2007. godine, a zbirovi se grupiu po potanskim brojevima. 6. Koliki je broj uplata, a koliki broj isplata koje su se desile na podruju Vojvodine tokom 2008. godine? Sumira se broj transakcija sa ogranienjem na regione koji ine Vojvodinu, za 2008. godinu, a grupisanje se vri po vrsti promene. 7. Kojim tipom transakcije klijenti najee otplauju dug? Sumira se broj transakcija, ogranienje je da je tip transakcije uplata, a grupisanje se vri po vrsti dokumenta. 8. Koji su najei tipovi transakcija kojima se vre isplate sa rauna koji pripadaju Pravnoj slibi? Sumira se broj transakcija, ogranienje je da je tip transakcije isplata, a grupisanje se vri po vrsti dokumenta. 9. Na koji nain se kretao priliv sredstava Banci od strane klijenata iji su rauni predmet Pravne slube? Posmatra se suma iznosa transakcija, ogranienje je da je vrsta promene uplata, a grupisanje se vri po vremenskoj dimenziji. Grupisanje moe da se izvri prvo po godini, pa po mesecu, a zatim po danu. Prikaz e predstavljati tzv. buenje kocke, odnosno, prvo e biti prikazani sumarni podaci za godinu, a zatim se moe izvriti detaljniji prikaz po mesecima, pa po danima u okviru svakog meseca. Moe da se doda jo jedna dimenziona tabela (tabela T3), koja sadri aktivne i arhivirane predmete Pravne slube, i koja bi se povezala sa tabelom injenica preko kolone Broj rauna, koja je njen primarni klju. Kolone ove tabele su: Broj rauna, Datum ustupanja, Datum otplate, Referent Id, Saldo ustupanja. Ovoj dimenziji moe da se pridrui i tabela podataka o referentima koji vode postupke protiv vlasnika rauna koji su u nedozvoljenom minusu. Njen primarni klju je Referent Id, a ine je kolone : Referent Id, Ime i Prezime. Takoe, moe da se izvri povezivanje Datuma ustupanja i Datuma otplate sa vremenskom tabelom. Poto je u Datum otplate upisana vrednost 01.01.0001 (u sluaju kada dug nije otplaen), potrebno je upisati jo jedan red u vremensku tabelu, koji e da odgovara tom datumu. Na ovaj nain se dobija tzv. ema zvezde sa spoljnim tabelama, koja je prikazana na sledeoj slici:
33
Slika 30: Druga ema podataka Tabela T3, u zavisnosti od toga kako se koristi u upitu, moe da bude i dimenziona tabela i tabela injenica. Naime, ako T3 posmatramo kao tabelu injenica, njena mera e biti Saldo ustupanja, a dimenzije Referent, Datum ustupanja i Datum otplate. Mogue je da i Broj rauna bude mera za tabelu injenica (T3), a u tom sluaju e na nju biti primenjena agregatna funkcija brojanja.Tada je mogue da se dobiju odgovori na sledea pitanja: 1. Kolika je ukupna suma koju je u nekom periodu odreeni referent dobio da naplati? Sumiraju se iznosi ustupanja sa ogranienjem da je datum ustupanja u navedenom vremenskom periodu, za traenog referenta. 2. Koliki broj predmeta je dobio svaki referent u toku 2008. godine? Broje se rauni, ogranienje je da je godina ustupanja 2008. a grupisanje se vri po dimenziji Referent. 3. Koliko predmeta je uspeno reeno u toku 2. kvartala 2007. godine, sa pojedinanim prikazom po referentima? Broje se rauni za koje datum otplate pripada 2. kvartalu 2007. godine, a grupisanje se vri po dimenziji Referent.
34
4. Koliki je ukupan broj rauna koji su dospeli u Pravnu slubu u toku maja 2008. godine? Broje se rauni za koje je mesec datuma ustupanja bio maj 2008. Ako se u tabeli T3 Broj rauna posmatra ne kao mera, ve kao nova dimenzija (dimenziona tabela od jednog reda se dobija iz tabele injenica, to je tzv. degenerativna dimenzja), tada mogu da se dobiju odgovori na sledea pitanja: 1. Koji su rauni i sa kojim iznosima ustupanja postali predmet pravne slube tokom prvog kvartala 2007. godine? Posmatraju se iznosi ustupanja, uslov ogranienja je da je datum ustupanja bio u prvom kvartalu 2007. godine, a grupisanje se vri po brojevima rauna. 2. Koji predmeti su uspeno reeni u toku maja 2008. godine (potebno je prikazati iznos otplaenog duga)? Posmatraju se iznosi ustupanja, uslov ogranienja je da je datum otplate maj 2008. godine, a grupisanje se vri po brojevima rauna. U sluaju da se tabela T3 posmatra kao dimenziona tabela (odnosna tabela) za tabelu T1, mogue je doi do odgovora na sledea pitanja: 1. Koliku je sumu novca u toku 2007. godine odreeni referent uspeo da naplati? Sumiraju se iznosi promena sa ogranienjem su se desile 2007. godine, da je vrsta promene uplata, za navedenog referenta. 2. Kakav je tok naplate duga po referentima tokom 2008. godine? Posmatra se suma transakcija, sa ogranienjem da se transakcija desila 2008. godine i da je u pitanju uplata, a grupisanje se vri po vremenskoj dimenziji i dimenziji referenta. U zavisnosti koje se grupisanje prvo izvri, dobie se razliiti pregledi podataka. Mogue je da se za svakog referenta pojedinano prati naplata u toku godine (po mesecima, na primer), a mogue je posmatrati naplatu (npr. po kvartalima u 2008. godini), pa u toku svakog kvartala, naplaenu sumu po referentima. 3. Koji rauni su imali isplate tokom prvog kvartala 2007. godine? Sumira se broj transakcija sa ogranienjem da je vrsta promene isplata, da je vreme vrenja transakcije prvi kvartal 2007. godine, a grupisanje se vri po brojevima rauna. 4. Po kojim raunima je bilo uplata tokom januara 2008. godine? Sumira se broj transakcija sa ogranienjem da je vrsta promene uplata, vreme vrenja transakcije januar 2008. godine, a grupisanje se vri po brojevima rauna.
35
5. Koji referent je imao najveu naplatu na teritoriji optine Novi Sad? Sumiraju se iznosi promena, sa ogranienjem da je vrsta promene uplata, naziv optine u kojoj je izvrena transakcija je Novi Sad, a grupisanje se vri po referentima. Mogue je da se tabele T3 i T1 posmatraju kao viestruka tabela injenica (ali bez njihovog spajanja) i tada se moe odgovoriti na sledea pitanja: 1. Kakav je odnos sume koja je dospela na naplatu u toku februara 2007. godine i naplaene sume za taj mesec? Sabira se iznos uplata gde je datum vrenja promene bio u februaru 2007. godine, a paralelno s tim se posmatra suma salda ustupanja, tako da je datum ustupanja bio u navedenom mesecu. 2. Koji su referenti u plusu u toku nekog perioda (vie su naplatili nego to su dobili za naplatu)? Posmatra se razlika izmeu sume transakcija za navdeni mesec i sume salda ustupanja koja je dobijena tog meseca za naplatu, a grupisanje se vri po referentima. Mogue je uraditi dekompoziciju tabele mesta, tako da se dobiju sledee tabele: T11 (Mesto, Pota), T12 (Pota, Naziv pote, Optina), T13 (Optina, Naziv optine, Region), T14 (Region, Naziv regiona). Ukoliko bi se uradila i dekompozicija vremenske tabele, dobila bi se ema pahulje. Tada ne bi bilo dupliranja podataka, ali se usporilo izvravanje upita zbog poveanog broja spajanja tabela, kao to je opisano ranije u radu. Takoe, moglo bi da se u tabelu T3 doda kolona JMBG koja predstavlja matini broj vlasnika rauna. Ta tabela bi se onda povezala sa novom dimenzionom tabelom iji je klju JMBG, a koja sadri matine podatke o klijentu Banke (pol, godite, prebivalite, mesto rodjenja, rezidentnost, itd.). Na taj nain bi se se znatno proirio spektar potencijalnih pitanja i odgovora koji se mogu dobiti iz raspoloivih podataka. Ubudue bi mogla bi da vri kontinuirana dopuna ovih podataka. Naime, u vremensku tabelu bi se dodali datumi posle 31.12.2008. godine (a svaki sledei put od datuma poslednjeg punjenja tabele), a u tabelu predmeta rauni kojima je datum ustupanja posle 31.12.2008, uz auriranje vrednosti datuma otplate za postojee predmete kojima je datum otplate 01.01.0001. U tabelu mesta bi se dodale nove lokacije (u sluaju otvaranja nove ekspoziture, npr.), a u tabelu injenica (istorije finansijskih promena) bi se na ranije opisan nain dodali novi redovi.
36
Pomou Kontrolnog centra je izvrena realizacija koraka koji su neophodni za uspostavljanje i korienje objedinjenog sistema. Tabele kojima su na ovaj nain napravljeni nadimci su prepoznatljive (po tim nadimcima) u alatima koji su korieni da bi se formirale kocke podataka i viedimenzioni izvetaji. Kontrolnom centru se pristupa na sledei nain: Start ->Programs ->IBM DB2 -> General Administration Tools -> Control Center. Odabirom odgovarajue baze i povezivanjem sa njom omoguuje se obrada nad njenim objektima.
37
38
Slika 31: Olap Centar Desnim klikom na model kocke, dobija se padajui meni iz koga treba izabrati opciju Create Facts u kojoj se definie ime tabele injenica i bira ema kojoj ona pripada. Zatim treba izvriti izbor tabela koje e initi tabelu injenica. U sluaju da se izabere vie tabela, mora da se definie na koji nain e se uraditi njihova spajanja. Ovo je mana Olap centra, zato to tabela injenica u tom sluaju moe da sadri tabele izmeu ijih redova moe da se uspostavi bijekcija (inae bi npr. funkcije sumiranja nad kolonama koje predstavljaju mere davale pogrene rezultate, jer bi se isti redovi jedne tabele sumirali vie puta) . Nakon toga treba izabrati kolone koje e predstavljati mere tabele injenica (mogue je uzeti postojee kolone, kao i izraunati novu kolonu iz postojeih), to je prikazano na Slici 32. U sluaju da je izabrano vie kolona koje e biti mere, u narednom koraku treba obeleiti kolonu koja e biti podrazumevana vrednost. Za svaku meru klikom na opciju Aggregations moe da se izabere agregatna funkcija po kojoj e se vriti izraunavanje za datu meru po dimenzijama. Takoe, moe da se definie i merna jedinica u kojoj e biti izraen rezultat primenjene agregatne funkcije. Na svaki sledei korak se prelazi pomocu dugmeta Next, a mogue je da se vrati na neki od prethodnih odabirom odgovarajue opcije u levom delu prozora. Nakon formiranja tabele injenica, njene karakteristike se mogu izmeniti desnim klikom na nju i odabirom opcije Properities.
39
Slika 32: Formiranje mere za tabelu injenica Sledei skup koraka je formiranje dimenzija modela kocke. Desnim klikom na Dimensions, a zatim odabirom opcije Create Dimension dobija se slian niz opcija kao i pri formiranju tabele injenica. Naime, definie se ime dimenzije, shema kojoj pripada, izvri se odabir tabela koje e initi eljenu dimenziju (ukoliko je u pitanju vie tabela treba izvriti spajanje po odgovarajuim atributima), a zatim se izaberu kolone iz izdvojenih tabela. Zatim treba da se izabere tip dimenzije koja se kreiraTime (ukoliko je u pitanju vremenska dimenzija) ili Regular (u ostalim sluajevima). Potom je potrebno izvriti spajanje tabele injenica i dimenzione tabele po odgovarajuem atributu. Kao i sluaju izmene tabele injenica, mogue je izvriti i izmenu formirane dimenzije desnim klikom na nju i odabirom opcije Properities. Kao to je analizirano ranije u radu, svaka dimenzija mora imati bar jednu hijerarhiju. Hijerarhija se formira desnim klikom na formiranu i odabirom opcije Create Hierarchy. Definiu se ime hijerarhije, njena shema i nivoi koji je ine. Treba napomenuti da jedna dimenzija moe imati vie hijerarhija. Na Slici 33 je dat primer modela kocke dobijenog iz eme podataka koja je opisana ranije u radu. Iz postojeeg modela kocke mogue je kreirati jednu ili vie kocki. Desnim klikom na folder Cube i biranjem opcije Create Cube dobija se wizard za formiranje kocke. Definiu se ime kocke, shema, zatim se biraju mere iz skupa mera modela kocke. Nakon toga, treba izabrati dimenzije koje predstavljaju podskup skupa dimenzija iz modela kocke i za svaku dimenziju treba izabrati tano jednu hijerarhiju. Na Slici 34 je kocka koja je izvedena iz prethodno prikazanog modela.
40
Slika 35: QMF for Windows Jednostavnim prevlaenjem dimenzija u odgovarajui Layout (prozor u levom delu ekrana) mogu se dobiti razliiti izvetaji. U zavisnosti od eljene forme izvetaja, dimenzije mogu da se postave u opciju Side Dimensions, koja odgovara y osi, ili Top Dimesions koja odgovara x osi koordinantnog sistema. Mogue je i da se vie dimenzija postavi na istu osu. Takoe, postoji mogunost sputanja po hijerarhiji dimenzija, odnosno prikaza sumarnih podataka po nivoima hijerarhije. Dodatno, desnim klikom na odgovarajuu dimenziju i odabirom opcije Filter, moe da se uradi prikaz samo po nekim vrednostima izabrane dimenzije. Razliitim nainima prikaza se vre operacije nad kockom, kao to je opisano ranije u radu.
42
7. REZULTATI
U ovom poglavlju e biti prikazani neki od izvetaja koje korisnik moe da napravi iz opisanih struktura podataka, a koji mogu da se koriste u analizi otplate duga klijenata Banke. Akcenat je stavljen na pregled naplate duga po referentima koji vode postupke, iz razloga to su najei zahtevi koje autor teksta dobija upravo za izradu takvih izvetaja. Treba napomenuti da su podaci koji su prikazani u radu iskljuivo testni. Jedan od najjednostavnijih izvetaja bi bio sumarni pregled naplaenih iznosa po referentima. Dodatno, u izvetaj moe da se postavi i vremenska dimenzija, tako da se dobija pregled naplate po godinama za referente. Forma tog izvetaja je prikazana na sledeoj slici i predstavlja operaciju komadanja kocke:
Slika 36: Tabelarni prikaz naplate duga po godinama i referentima Na ekranu su prikazane 2007. i 2008. godina, jer su samo ti podaci obuhvaeni. Klikom na + vri se operacija buenja kocke. Dobijaju se vrednosti za mesece, a ako se ide dalje u dubinu i za dane u mesecu, kao to je prikazano na sledeoj slici:
43
Slika 37: Tabelarni prikaz naplate duga po datumima za referente Takoe, moe da se izvri filtriranje po eljenim vrednostima za dimenzije. Na primer, ako se izvri filtriranje za referenta LP i mesec jun 2008. godine, dobie se prikaz koliku je sumu novca naplatio referent LP u junu 2008. godine. Analogno prethodnom, u prikaz mogu da se dodaju i druge dimenzije, pa da se na taj nain menjaju varijante prikaza eljenih rezultata. Naplata duga moe da se predstavi i grafiki. Na sledeoj slici je prikazana naplata po referentima:
Slika 38: Grafiki prikaz naplate po referentima Dodavanjem vremenske dimenzije u prikaz, dobijaju se naplate po godinama za referente, kao to se vidi na Slici 39.
44
Slika 39: Grafiki prikaz naplate po godinama za referente Operacijom buenja po vremenskoj dimenziji mogu da se dobiju podaci o naplati duga po mesecima i danima. Mogu je i obrnut prikaz, odnosno, uporedni pregled naplate duga po referentima za posmatrani vremenski interval (tj. za 2007. i 2008. godinu), to je prikazano na sledeoj slici:
45
Operacijama buenja i seenja po vremenskoj dimenziji, moe da se doe do prikaza naplate po danima za zadati mesec i godinu. Na sledeoj slici je prikazana naplata referenta ZP u toku novembra 2008. godine.
Slika 41: Naplata duga za referenta ZP tokom novembra 2008. godine Ako se za prikaz uzme samo mesto vrenja transakcije, dobie se prikaz naplate duga po regionima, kao to je prikazano na sledeoj slici:
46
Ukoliko se izvri sputanje po hijerarhiji, za region Beogradski venac e se dobiti prikaz kao na Slici 43. Ako se izvri dalje sputanje po hijerarhiji, npr. za optinu Rakovica koja pripada navedenom regionu, dobija se prikaz kao na Slici 44:
Mogue je da se dodatno izvri filtriranje za nekog referenta, pa se tako dobija prikaz naplate za navedenog referenta u optini Rakovica, po potanskim brojevima, kao to je prikazano na sledeoj slici:
47
8. ZAKLJUAK
Mali broj OLAP kocki moe da da odgovor na veliki broj pitanja. Korisnik bez programerskog znanja moe da vri upite nad bazom podataka, jer se pitanja postavljaju na intuitivan nain, bez poznavanja upitnih jezika. Posmatranjem podataka iz razliitih perspektiva uoavaju su razliiti trendovi ponaanja, ali, esto, i neke neoekivane zakonitosti, koje mogu da pomognu prilikom donoenja buduih poslovnih odluka. Takoe, bitna karakteristika OLAP sistema je da su transakcioni podaci odvojeni od podataka koji se koriste za analizu, tako da se prilikom vrenja operacija na OLAP kockama ne usporava rad svakodnevnih transakcija. OLAP tehnike su iskoriene u reininjeringu aplikacije za izradu izvetaja o naplati duga od vlasnika tekuih rauna koji su u nedozvoljenom minusu u Banci Potanskoj tedionici, a.d. Koliko je autoru poznato, ovo je prva (i to uspena) primena OLAP tehnika u Banci. Realizacija reenja postavljenog problema je ostvarena pomou tri modela OLAP kocke. Prvi model sadri tabelu istorije promena u ulozi tabele injenica i dimenzije koje odgovaraju kolonama te tabele. Drugi model je ostvaren na takav nain da je tabela injenica tabela sa podacima iz Pravne slube, sa odgovarajuim dimenzijama i brojem rauna kao merom. Trei model podataka sa istom tabelom injenica kao i drugi, ali je, u ovom sluaju, broj rauna posmatran kao dimenzija. Samo iz ova tri modela su dobijeni odgovori na sva pitanja koja su postavljena ranije u radu. Najvie vremena je utroeno u samu pripremu podataka, odnosno u njihovo preiavanje i izdvajanje u odgovarajue tabele. Budua dopuna ovih podataka se radi po prethodno opisanoj proceduri. Na ovaj nain organizovani podaci su konstantno na raspolaganju korisnicima. Posao programera se svodi na eventualnu dopunu modela kocke u smislu proirenja skupa podataka koji potencijalno mogu da se prikau. Pozadinske obrade postaju nepotrebne, a izvetaji nisu vie glomazni i teko razumljivi. Svaki korisnik za sebe moe da napravi prikaze koji su mu najjednostavniji i najlaki za razumevanje. Samo formiranje izvetaja je interaktivno. Najvanije od svega je da su ti izvetaji odmah dostupni.
48
9. Literatura
[1] Pavlovi-Laeti Gordana, Uvod u relacione baze podataka, drugo izdanje, Matematiki fakultet, 1999 [2] DB2 Cube Views A Primer, IBM Redbooks, SG24-7582-00 December 2008, http://www.redbooks.ibm.com/abstracts/sg247002.html [3] DB2 Cube Views: Getting Started with Business Objects, REDP-3711-00 September 2003, http://www.redbooks.ibm.com/abstracts/redp3711.html [4] Thomsen Erik, OLAP Solutions: Building Multidimensional Information Systems, Second Edition, John Wiley & amp; Sons, 2002 [5] MicroStrategy, The Case for Relational OLAP, 1995, http://www.cs.bgu.ac.il/~dbm031/dw032/Papers/microstrategy_211.pdf [6] Star schemas, http://publib.boulder.ibm.com/infocenter/rbhelp/v6r3/index.jsp?topic=/com.ib m.redbrick.doc6.3/wag/wag32.htm [7] Star & snowflake shemas, http://publib.boulder.ibm.com/infocenter/ablxhelp/8.3/index.jsp?topic=/com.ib m.db2.ax.cub.doc/sii-cubeschema-32488.htm [8] OLTP vs. OLAP, http://datawarehouse4u.info/OLTP-vs-OLAP.html [9] The FASMI test, http://www.olapreport.com/fasmi.htm [10] Business Inteligence: OLAP Tool Selection, http://www.1keydata.com/datawarehousing/toololap.html [11] DB2 for OS/390 V5 and Federated Systems, http://nlazovic.bravehost.com/Xephon/docs/DB2%20for%20OS390%20V5%2 0and%20Federated%20Systems.html [12] DB2 Cubes overview, http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ib m.db2.udb.db2_olap.doc/cwhat.htm [13] Control Center overview, http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ib m.db2.udb.cc.doc/db2_udb/intro.htm [14] OLAP Market Share, http://www.1keydata.com/datawarehousing/olap-market-share.html
49