You are on page 1of 40

UVOD

Kvalitetna i pravovremena informacija je osnov za donošenje poslovnih


odluka od strane menadžmenta preduzeća. Menadžeri su u svom svakodnevnom
radu okruženi mnoštvom različitih podataka i informacija koje mogu biti manje ili
više upotrebljive. Samo uz korišćenje savremenih softverskih alata za poslovnu
analizu podataka menadžeri mogu imati kvalitetan i brz uvid u poslovanje. Sistemi
za analitičko procesiranje podataka (OLAP) omogućavaju menadžerima da,
samostalno, bez znanja programiranja, u realnom vremenu, obavljaju
višedimenzionu analizu podataka dobijajući pritom informacije u preglednim
tabelarnim i grafičkim formama.

Ukratko skladište podataka je skup odabranih podataka određenog


preduzeća koji je temelj sistemu za podršku odlučivanju. NJegova je glavna
funkcija da izdvoji podatke iz baze 10 podataka, dobijenih iz operativne nivoa, pa
ih spremi u posebnu bazu podataka u kojoj će ti podaci biti pripremljeni za dalju
analizu kako bi se iz njih izvukle informacije potrebne za efikasno odlučivanje.
Podaci koji se nalaze u skladištu podataka su prikupljani u dužem
vremenskom periodu, što omogućava bolju analizu odnosno poređenje i
predviđanje.
Zbog analize podataka koji se nalaze u skladištu, verovatnoća da će se
određeni podaci morati ažurirati je manja.
Osnovne karakteristike skladišta podataka:
• Povezanost sa produktivnim bazama podataka koje se koriste u preduzeću,
koja ne podrazumeva i podudaranje u organizaciji podataka.
• Orijentiranost na predmet poslovanja, umesto na aplikacije, čime se
osigurava konzistentnost pogleda na poslovne podatke.
• Integrisanost usled konsolidacije podataka iz različitih sistema (prema
navedenom autoru, najvažnija karakteristika).
• Vremenska orijentisanost koja proizlazi iz posmatranja podataka kroz
vremensku dimenziju, za razliku od transakcijskih sistema koji prikazuju podatke u
određenom trenutku.
• Konzistentnost koja je posledica činjenice da se podaci u skladištu
podataka dodaju umesto da se postojeći menjaju.
Prema Nagabhushani (2008: 29) glavna svrha skladišta podataka je:
• Da obezbedi korisnicima pristup podacima
• Pružiti jednu verziju istine
• Precizno beleženje prošlih događanja
• Efikasno pretraživanje podataka
• Razdvajanje analitičkih i operativnih procesa
• Pružiti podršku sistemu odlučivanja

Skladišta pružaju pristup podacima koji su inače bili zaključani u


okruženjima koji inače nisu "user friendli", kada kažem zaključani, mislim na to da
bi korisnici morali raditi veća pretraživanja da bi došli do podataka koji su im
potrebni ili bi za te podatke morali tražiti različite dozvole jer se nalaze na
lokacijama koji im nisu ili ne smeju biti dostupni. Pod pružanjem jedne verzije
istine se podrazumeva da određeni podaci za određene korisnike mogu značiti
jednu informaciju dok ti isti podaci za nekog drugog korisnika znači nešto sasvim
drugo. Iako te raznolikosti u shvatanju određenih podataka mogu prividno biti
trivijalne, ali ponekad vode do brojnih loše donesenih odluka.
Dinamički izveštaji pružaju korisnicima mogućnost da vide podatke iz
različitih uglova, korisnici koji će trebati određene informacije izvući iz podataka
koji im stoje na raspolaganju jednostavno moraju imati mogućnost efikasnog
prolaženja kroz podatke iliti "slice and dice through data".
OLAP

OLAP je skraćenica za "On-Line Analitical Processing" koja u prevodu


označava on-line analitičku obradu, to nam ne govori mnogo o tome šta ta
skraćenica zapravo označava.
Najkraće bi smo mogli definisati OLAP kada bi smo rekli da je to skup alata
koji nam služi za izvođenje znanja iz određenih skladišta podataka. Ono ključno
što svaki OLAP alat ima zajedničko je multidimenzionalnost, odnosno mogućnost
pružanja korisniku da određene podatke pregledaju odnosno analizira u različitim
dimenzijama.
Pod različite dimenzije podrazumevamo da određene podatke možemo
analizirati prema određenom kriterijumu (mernim jedinicama) kao što je vreme,
dužina, količina, lokacija, itd. Na slici 1 možemo videti odnos korisnika i OLAP-a.

korisnici OLAP skladište podataka

Slika 4 Odnos korisnika s OLAP sustavom

Slika prikazuje korisnike koji će analizirati podatke preko OLAP-a, koji će


podatke vaditi iz skladišta podataka. OLAP omogućuje dimenzioniranje tako
zvanih OLAP kocki (OLAP cube) odnosno višedimenzionalne „kocke“ podataka
koje će korisnici moći analizirati različitim metodama. Korisnici će zapravo biti
OLAP klijenti koji će pomoću aplikacija moći vršiti različite analize na učitanim
podacima.
Jezgro OLAP sistema je multidimenzionalni model podataka koji se može
predstaviti u vidu OLAP kocke odn. multidimenzionalne ili hiper kocke (slika
1.1). OLAP kocku čine numerički podaci (činjenice) koje se nazivaju mere,
kategorisane u dimenzije. Mere se izvode iz činjenica u tabeli činjenica sa stranim
ključevima a dimenzije se izvode iz tabela dimenzija (sadrži primarne ključeve i
ostale atribute). Jedna tabela činjenica obično pokazuje na više tabela dimenzija,
po hijerarhijskom principu.

Obeležja i varijante OLAP alata Prema Panian i Klepce (2003: 236)


OLAP ima sledeća svojstva:
• OLAP predstavlja konceptualni i intuitivni model koji će razumeti svi korisnici,
nezavisno o tome koliko oni obrazovani bili, čak i ako nisu specijalizovani za
obavljanje analitičkih poslova. Model se zasniva na multidimenzionalnosti
odnosno mogućnosti pregledanja podataka kroz veći broj filtera.
• OLAP alati omogućavaju obavljanje brzih analiza što menadžerima omogućava
dobijanje odgovora na pitanja koje stoje pred njima u kraćem vremenu, a to se
odražava na kvalitet odluka koje kasnije donose.
• Multidimenzijska struktura postavlja specifične budžetske zahteve koje OLAP
alati moraju znati rešiti. Broj dimenzija je teoretski neograničen što nam govori da
ti alati moraju uključiti snažne sposobnosti računanja.

Kako Nagabhushana (2008) navodi, postoje 18 pravila kojih se OLAP alati moraju
držati, a Codd2 je ta pravila podelio u četiri grupe nazivajući ih karakteristikama.
Neka od Coddovih pravila za OLAP prema Nagabhusani (2008: 205-209):

1. Osnovne funkcije
• Multidimenzionalni konceptualni pogled - pogled kroz više dimenzija iliti
filtera.
• Intuitivno manipulacija podataka - prema Coddle to se odnosi na model
pružanja izbora prilikom manipulacije odnosno obrade podataka, jer svaki
korisnik ima svoj pristup određenim operacijama stoga treba imati mogućnost
izbora na koji način će određene operacije obavljati.
• Pristupačnost 2 Edgar Frank Codd (1923/08/19. - 18.04.2003.) - osmislio
relacijski model 13
• Batch vađenje vs interpretativno - pravilo koje nalaže da alati pružaju
mogućnost pristup eksternim bazama podataka koliko i sopstvenim bazama
podataka.
• OLAP modeli analiziranja - odnosi se na analiziranju i istraživanju podataka
koji uključuju operacije kao što su slice, dice, drill dovn, drill up ali i
parametarskog statičkog izveštavanja.
• Klijent / Server arhitektura

• Transparentnost - korisnici bi trebali imati puni pristup svim podacima koji


su im potrebni, ali ne bi ih se trebalo zamarati s informacijom odakle dolaze ti
podaci ukoliko to oni ne žele znati.
• Višekorisnička podrška

2. Specijalne funkcije
• Obrada ne normaliziranih podataka - to se odnosi na integraciju OLAP
sistema i ne normaliziranih izvora podataka, Codd navodi da bilo koja
ažuriranja podataka u OLAP okruženju ne bi smeli dopustiti menjanje ne
normaliziranih podataka u sistemu.
• Čuvanje OLAP rezultata - radi se o tome da Codd smatra kako OLAP
aplikacije ne bi trebale biti implementirane direktno na transakcijskih
podacima, a OLAP promene podataka bi se trebali držati odvojeno od tih
transakcijskih podataka. Nagabhushana navodi kako je najbolji primer za to
upravo Microsoftov Analisis Services o kojemu će autor detaljnije pisati u
praktičnom delu ovog završnog rada.
• Ekstrakcija vrednosti koji nedostaju
• Obrada vrednosti koji nedostaju - sve NULL vrednosti bi se trebali ignorisati
od strane OLAP sistema nezavisno o izvoru tih podataka odnosno vrednosti.

3. Izveštajnoj funkcije
• Fleksibilni izveštaji - korisnici bi trebali imati mogućnost kreiranja
fleksibilnih izveštaja, odnosno mogućnost da kreiraju izveštaje prema onim
dimenzijama koje oni žele.
• Ujednačeni izveštaji
• Automatsko prilagođavanje fizičkom nivou

4. Kontrola dimenzija 14
• Generička dimenzionalnost - svaka dimenzija mora biti ekvivalentna u
strukturalnim i operativnim sposobnostima.
• Neograničen broj dimenzija
• Neograničen broj operacija ukrštanja dimenzija - Codd navodi da bilo koja
forma kalkulacija mora biti moguća u svakoj dimenziji, to je vrlo važno ako se
rade složeni proračuni ne samo preko tablica, a posebno su važni u
aplikacijama koje analiziraju profitabilnost.

OLAP alati

Postoje četiri glavne vrste OLAP alata:

1. Relacijski OLAP
2. Multidimenzionalni OLAP
3. Desktop OLAP
4. Hibridni OLAP
Slika 5 Varijante OLAP alata (Nagabhushana, 2008: 222)

Relacijski OLAP iliti ROLAP alati sve podatke koje dobiju spremaju u standardne
sisteme relacijskih baza podataka, ne spremivši tako ništa u eksterne repozitorije.
Sposobni su raditi sa vrlo velikim skupom podataka, ali su kompleksni što dovodi
do toga da su vrlo skupi za implementirati, a isto tako imaju spore performanse
izvođenja upita te nisu sposobni izvoditi složenije finansijske kalkulacije. ROLAP
alati ne spremaju nužno podatke za analizu odvojeno od ostalih izvornih podataka.
Panian i Klepac (2003) isto tako navode kako u ROLAP alati imaju otežanu
primenu standardnih upitnih jezika (npr. SQL-a), na koje su korisnici zapravo
navikli pa neke druge oblike interakcije sa bazama podataka ne smatraju zapravo
prednošću nego nedostatkom.

Multidimenzionalni OLAP, skraćeno MOLAP predstavlja alate kod kojih su


podaci sačuvani u multidimenzionalne kocke, kako se ne mogu koristiti relacijske
baze podataka većinom su ti podaci sačuvani u vlastite optimizovane baze
podataka višedimenzionalne matrične strukture. Panian i Klepac (2003) navode da
je najveća prednost ovakve OLAP arhitekture zapravo brzina, a Nagabhushana
(2008) navodi kako takvi alati jednostavno moraju pružiti visoke performanse,
sofisticirane multidimenzionalne kalkulacije i funkcionalnosti. No baš zbog toga,
mana ovih alata se vidi u zauzeću ogromnog prostora u slučaju postojanja većeg
broja dimenzija.

DOLAP alati su klijent bazirane te često koriste i relacijske i


multidimenzionalne baze podataka. Neretko imaju vrlo limitirane funkcionalnosti u
poređenju sa ostalim specijalizovanim OLAP proizvodima. Razlog tome je što su
prilagođene za stone računare, a samim time su prilagođene da zadovoljavaju
potrebe pojedinačnih korisnika.

Hibridni OLAP koristi kombinaciju tehnika spremanja podataka.


Predstavljaju kombinaciju ROLAP i MOLAP arhitekture jer će određene podatke
spremati u multidimenzionalne baze podataka dok će drugi deo podataka spremiti
u relacijske baze podataka te tako koristi neke pogodnosti oba tehnika. Panian i
Klepac (2003) su opisali kako HOLAP prvobitne informacije drži u relacijskoj bazi
podataka i pristupa njima pomoću drill-through procedura, a sažetak drži u
multidimenzionalnoj kocki, čime se postiže velika brzina pristupa i relativno malo
zauzimanje prostora.

Struktura OLAP kocke

OLAP kocka predstavlja multidimenzionalni niz podataka, odnosno grupu


ćelija podataka raspoređeni po dimenzijama. Ako govorimo o OLAP kocki
podrazumeva se da postoje tri dimenzije kojima se definišu podaci, a primer OLAP
kocke možemo videti na slici 8. Multidimenzionalni niz podataka može imati i više
od tri dimenzije, ali takav niz je teško predočiti i naziva se hiper-kocka.
.

Slika: Primer OLAP kocke

Na primeru OLAP kocke (slika 8) možemo videti da sadrži tri dimenzije:

• Godine
• Promenljive
• Klase
Navedena kocka zapravo predstavlja godišnji strukturno-poslovni pokazatelj
preduzeća prema NKD-u 2007 za delatnost trgovine.

Operacije nad kockom

Kako bi se što lakše pročitali određene informacije iz podataka, kreiraju se


izveštaji, a kako bi korisnik mogao sastaviti izveštaj koji će njemu u tom
određenom trenutku odgovarati, on mora imati mogućnost različitih operacija nad
podacima sa kojima raspolaže. Vercellis (2009) navodi kako su OLAP analize
bazirane na hijerarhijskih koncepata kako bi se podaci konsolidirali te kako bi se
kreirali logički pogledi preko dimenzija skladišta podataka. Hijerarhije koncepata
odnosno pojmova se koristi kako bi se izvele određene vizuelizacije operacija koje
se čine sa data kockom u skladištima.

Operacije koje se mogu izvoditi nad kockom su sledeće:

• Roll-upp / Drill up - operacija koja se sastoji od agregiranja odnosno sakupljanja


podataka u kocki čime ovu operaciju možemo nazvati agregiranjem. Isto kao i drill
dovn to je jedna od analitičkih tehnika gde korisnik ima mogućnost navigacije nivo
podataka od najsažetijih (drill up) do najdetaljnijih (drill down).

Slika 9: Hijerarhija pojmova za dimenzije lokacije i vremena (Vercellis, 2009: 60)

 Roll-down / Drill down - operacija koja omogućava korisniku analizu podataka


prema većem nivou detalja u hijerarhiji koncepata. Kao primer možemo uzeti
dimenziju lokacija (imamo mogućnost analize za državu, županiju, opštinu,
grad, itd.), Gde spuštanjem kroz dimenzijske nivoa lokacije nazivamo drill down
operacijom odnosno detaljiziranjem.

 Slice and Dice - operacije koje pokreću korisnici, a uključuje interaktivnu


navigaciju kroz pogled stranice, kroz specifikaciju kriški (slices) 5 pomoću
rotacija i agregiranja i detaljisanja. Postoji mogućnost horizontalnog i
vertikalnog analiziranja podataka. Pogled stranice je pojam koji označava
trenutnu orijentaciju odnosno pogled na multidimenzionalnu krišku.
Horizontalne dimenzije idu preko pogleda definišući dimenziju kolone, dok
vertikalne dimenzije idu niz pogled stranice definišući tako sadržaj reda
dimenzija.

 Pivot - operacija rotacije koja omogućava rotiranje osi, menjajući određene


dimenzije kako bi se stekao drugi pogled na multidimenzionalnu kocku.
Operacija se može sastojati od menjanja redova i kolona, pomeranja 1 reda
dimenzije u dimenziju kolone, itd. Zavisno o tome koliko kocka ima dimenzija,
povećava se broj mogućnosti pivotiranja.

 Neograničen broj operacija ukrštanja dimenzija - Codd navodi da bilo koja


forma kalkulacija mora biti moguća u svakoj dimenziji, to je vrlo važno ako se
rade složeni proračuni ne samo preko tablica, a posebno su važni u
aplikacijama koje analiziraju profitabilnost.
Slika 10 Primer pivot operacije6

Skladišta podataka
Analitičke baze podataka uslovile su nastanak skladišta podataka (Data
Warehouse-DW), čija je osnovna namena izveštavanje korišćenjem transakcionih
podataka, istorijskih podataka, kao i podataka iz drugih sistema.
Skladištenje podataka - DW je proces integracije podataka u jedan
repozitorijum iz kojeg krajnji korisnici mogu sprovoditi ad-hock analize podataka i
praviti izveštaje.
Warehousing koncept je skladištenje agregiranih, ekstrahovanih i filtriranih
podataka u meta baze, koje omogućavaju slojevit, multidimenzionalni pristup
podacima, kakav je potreban za donošenje odluka najvišeg strateškog nivoa.
Skladište podataka je informaciona baza podataka dizajnirana za podršku
jedne ili više klasa analitičkih zadataka, kao što su nadgledanje i izveštavanje,
analiza i dijagnoza i simulacija i planiranje.
Osnovni cilj skladištenja podataka je prikupljanje i distribucija informacija
kroz preduzeće, tj. korišćenje bilo koje informacije, sa bilo kog mesta, u bilo koje
vreme, tačnije- ostvarenje principa „Biti uvek na usluzi korisniku informacija“.
Cilj skladištenja podataka nije da se podaci samo skladište, već je cilj da
menadžeri mogu sami da vrše analize. Čak i u svetu uspešnih menadžera postoje
ljudi koji nisu tehnički obrazovani, a imaju potrebu za informacijama i ne znaju da
programiraju.
Skladište podataka je arhitektura za organizovanje informacionih sistema.
Sastoji se od skupa programa koji vrše ekstrakciju podataka iz transakcionih
sistema, baze podataka u koju se smeštaju podaci i sistema koji obezbeđuju
podatke korisnicima.
Slika 1. Osnovna arhitektura skladišta podataka
2.1Izrada skladišta podataka
Pri izgradnji skladišta podataka najbitniji su sami podaci, a ne poslovni
procesi i funkcije, kao što je to slučaj sa transakcionim sistemima.
Za razvoj skladišta podataka potrebno je:
 izvršiti analizu izvora podataka,
 pripremiti podatake,
 izgraditi skladište podataka.
Izgradnja „skladišta“ podataka nije samo prosto kopiranje podataka i
prepuštanje korisnika alatima za podršku odlučivanju već pretpostavlja i
restrukturiranje podataka denormalizacijom tabela, čišćenjem podataka od
redundansi i nelogičnosti i dodavanjem novih polja i ključeva radi zadovoljenja
korisnikovih potreba za sortiranjem, kombinovanjem i sumiranjem podataka.
Slika 2. Razvoj skladišta podataka
Prvi korak je identifikacija dimenzija i atributa koja podseća na klasično
projektovanje upotrebom ER modela i zove se dimenziono modeliranje.
Dimenziono modeliranje je tehnika logičkog dizajna čiji je cilj prezentacija
podataka u obliku koji obezbeđuje visoke performanse sistema radi vršenja analize
podataka.
U dimenzionom modeliranju, strukture podataka su tako organizovane da
opisuju mere i dimenzije.
 Mere su numerički podaci smešteni u centralnoj, takozvanoj tabeli
činjenica (fakt tabela).
 Dimenzije su standardni poslovni parametri koji definišu svaku
transakciju.
Osnovu za izradu dimenzionog modela predstavljaju meta podaci, na osnovu
kojih se vrši definisanje hijerarhija, elemenata i atributa, normalizacija i
denormalizacija i definisanje agregacija.
Svaka dimenziona tabela ima svoj primarni ključ, a svi oni učestvuju u
stvaranju primarnog ključa tabele činjenica. Ovakvi modeli se nazivaju šemama
zvezde.
Tabele činjenica sadrže podatke koji su, najčešće, numeričkog tipa i mogu
sadržati veliki broj zapisa.

Slika 3. Primeri dvodimenzionih i trodimenzionih modela podataka


Kao što se vidi na predhodnoj slici, u slučaju pod a) podaci o prodaji za
svaku oblast se nalaze u različitim tabelama, dok su u slučaju pod b) svi podaci
smešteni u trodimenzioni niz.
Iako su podaci sačuvani samo jednom i to na jednom mestu, svaki korisnik
može dobiti različite poglede na jedne iste podatke. Jedan od primera dat je na
sledećoj slici.
Slika 4. Različiti pogledi na iste podatke
Sve dimenzione tabele su denormalizovane , što znači da se isti podaci
čuvaju na više mesta da bi se obezbedila jednostavnost i poboljšale performanse.
Primer normalizovane i denormalizovane reprezentacije podataka dat je na
sledećoj slici.

Slika 5. Različiti načini reprezentacije podataka


Izgradnja skladišta podataka se sastoji od sledećih zadataka:
 denormalizacija podataka,
 definisanje hijerarhija,
 kreiranje agregacija,
 kreiranje fizičkog modela,
 generisanje baze podataka,
 učitavanje podataka.
2.1.1. Denormalizacija podataka
U zavisnosti od predstave dimenzija na modelu, govorimo o
normalizovanom ili denormalizovanom modelu. Kod denormalizovanog modela
dimenzije su ogranizovane u šemu zvezde, a kod normalizovanog u šemu snežne
pahuljice.
Postoji situacije u kojima šema zvezde nije pogodna za skladište podataka.
Osnovni razlozi za to su:
 Denormalizovana šema zvezde može zahtevati previše memorijskog
kapaciteta,
 Veoma velike dimenzione tabele mogu uticati na pad performansi
sistema.
Ovi problemi se mogu rešiti normalizacijom dimenzija. Time se šema
zvezde prevodi u šemu pahulje. Glavni nedostatak šeme pahulje je njena složenost
u odnosu na šemu zvezde, čime se otežava održavanje skladišta podataka. Zato je
potrebno vršiti normalizaciju samo onih dimenzija koje sadrže mnogo redova
podataka i koje imaju mnogo atributa.
Osnovna karakteristika šeme pahulje jeste da se ne vrši denormalizacija
tabela, čime se poboljšavaju performanse sistema.
Šema galaksije predstavlja kolekciju šema zvezde, tj. ako se ne može kreirati
model koji bi imao samo jednu činjeničku tabelu, tada je potrebno povezati dve
šeme zvezde da bi se zadovoljile potrebe korisnika.
Slika 6. Šeme zvezde, pahulje i galaksije.
Fizička arhitektura dimenzionog modela opisana je pomoću šeme zvezde
definisane sa dve vrste tabela – dimenzione tabele (dimension table) i tabele
činjenica (fact table).
Tabela činjenica sadrži kvantitativne podatke o poslovima koji opisuju
specifične događaje u poslovanju, kao što su bankarske transakcije ili prodaja
proizvoda, a koje korisnici analiziraju. Može sadržati i agregirane podatke, kao što
je npr., mesečna prodaja. Ovi podaci su najčešće numeričkog tipa i mogu se
sastojati i od nekoliko miliona redova i kolona.
Dimenzione tabele su znatno manje i sadrže podatke koji opisuju dati posao,
tj. one podatke po kojima se vrši analiziranje. Ti podaci se nazivaju atributi.
Osnovne prednosti šeme zvezde su što omogućava definisanje složenih
višedimenzionih podataka u vidu jednostavnog modela, smanjuje broj fizičkih veza
koje se moraju procesirati pri zadavanju upita, čime se postiže poboljšanje
performansi sistema i omogućava proširenje skladišta podataka uz relativno
jednostavno održavanje.
Velika mana šeme zvezde je što se povećava redundantnost podataka.
Svaka tabela mora sadržati primarni ključ čiji sadržaj jedinstveno
identifikuje zapise.
DIMENZIJA1
IDdimenzije1
Atribut11
Atribut12
Atribut13

CINJENICE
DIMENZIJA2 IDdimenzije1 (FK) DIMENZIJA3
IDdimenzije2 IDdimenzije2 (FK) IDdimenzije3
IDdimenzije3 (FK)
Atribut21 Atribut31
Atribut22 Mera1 Atribut32
Atribut23 Mera2 Atribut33
Mera3

Slika 7. Jednostavna šema zvezde (logički model)


Na primeru, primarni ključ tabele činjenica je sastavljen od tri spoljna
ključa. Spoljni ključ je kolona jedne tabele, čija je vrednost definisana kao
primarni ključ druge tabele.

2.1.2. Definisanje hijerarhija


Dimenzione tabele memorišu sledeće elemente:
 traženje hijerarhijskih relacija u svakoj dimenziji,
 definisanje opisnih atributa svake dimenzije.
Dimenzije veoma često mogu biti organizovane u hijerarhiji. Na primer, kod
dimenzije proizvod, mogu postojati tri dimenziona elementa: prozvod, grupa i
vrsta proizvoda. U ovom modelu možemo reći da dimenzioni element "proizvod"
predstavlja najniži hijerarhijski nivo u dimenziji proizvod, dok vrsta proizvoda
predstavlja najviši nivo.
Posmatranje podataka iz različitih, ali blisko povezanih perspektiva
omogućava da korisnik analizira podatke na različitim nivoima detalja.
Drill-down - Postupak prelaska sa nivoa sa manjim brojem detalja na nivo
sa većim brojem detalja naziva se spuštanje u dubinu (drill down) i predstavlja
zahtev korisnika da mu se prikaže više detalja. Na primer, pošto se pronađe
podatak o prodaji nekog regiona, spušta se naniže da bi se saznalo kako se prodaja
odvija po opštinama.
Drill-up - Postupak prelaska sa nivoa sa većim brojem detalja na nivo sa
manjim brojem detalja, na tzv. sumarne podatke, naziva se dizanje naviše (drill up).
Na primer, upit bi mogao prezentovati prodaju u odnosu na neke regione.
Drill across – koristi se za povezivanje dve ili više činjeničnih tabela na
istom nivou hijerarhije.
2.1.3. Agregacija
Agregacijama se sumiraju detalji podataka i smeštaju u posebne tabele. Ove
tabele se koriste od strane aplikacija da bi se eliminisala potreba da se ponovo vrše
proračuni koji bi se inače morali sprovesti ako ove tabele ne bi postojale.
Glavni razlozi kreiranja agregacija su da se poboljšaju performanse upita, tj.
da se smanji vreme odziva na upit, kao i da se smanji broj resursa potrebnih za
izvršenje upita.
2.1.3.1. Agregacije zasnovane na SQL naredbama
Jedan od načina na koji se mogu kreirati agregacije jeste korišćenje SQL
naredbi. Iako ovaj način nije najbolji po pitanju performansi sistema, on je
najjednostavniji.
2.1.3.2. Agregacije koje nisu zasnovane na SQL naredbama
U slučaju kreiranja agregacija koje nisu zasnovane na SQL naredbama,
potrebno je razviti specijalizovane programe, što usložnjava procese razvoja i
održavanja skladišta podataka.

Na primer, ako se izvrši sortiranje redova podataka po dimenziji Vreme, u


tabeli će se prvo nalaziti redovi podataka koji se odnose na Dan, iza njih će biti
redovi podataka koji se odnose na Nedelju itd. Zatim se na svakom mestu prelaza
sa jednog nivoa dimenzije na drugi (na primer, sa Dana na Nedelju) kreiraju
podzbirovi za taj nivo dimenzije. Pri tome je moguće iskoristiti prednosti
paralelnog procesiranja jer su podaci podeljeni po grupama (jedan proces može
računati podzbirove vezane za nivo Dan, a drugi za nivo Nedelja). Tako dobijene
podzbirove treba učitati i izvršiti agregaciju. Time je proces agregacije podataka
završen.
2.1.4. Kreiranje fizičkog modela
U okviru kreiranja fizičkog modela baze podataka, izvodi se postupak
prevođenja logičkog modela u fizički model prikazan preko dijagrama entiteti –
veze koji fokusira podatke. Fizički model za potrebe našeg skladišta podataka biće
orijentisan relacionim bazama podataka i koristiće se za kreiranje šeme baze
podataka.
Za kreiranje fizičkog modela koristiće se CASE alat ERWin, koji
omogućava ostvarivanje veze između konceptualnog, dimenzionog i fizičkog
modela.
U okviru procesa prevođenja klasa u entitete trebalo je rešiti probleme
multiplikativnosti, referencijalnog integriteta i kreiranja indeksa.
Multiplikativnost definiše broj instanci jednog entiteta u relaciji sa jednom
instancom drugog entiteta. Ovaj problem je rešen direktnim preuzimanjem ovih
parametara sa modela objekti – veze.
Referencijalni integritet se reflektuje kao postojanje prenesenog ključa u
nekoj tabeli. Tamo gde se nalazi preneseni ključ, postoji “ciljna tabela”, a tamo gde
je definisan primarni ključ, nalazi se “izvorna” tabela. Referencijalni integritet
tabele zahteva da unesena vrednost atributa odgovara vrednosti atributa koji je
primarni ključ druge tabele. Referencijalni integritet se definiše za operacije
ubacivanja, brisanja i ažuriranja.
Kreiranje indeksa je izvršeno automatski za sve primarne ključeve u
entitetima i za prenesene ključeve u entitetu.
Na primeru (slika 7), primarni ključ tabele činjenica je sastavljen od 4
spoljna ključa. Spoljni ključ je kolona jedne tabele, čija je vrednost definisana kao
primarni ključ druge tabele. Na sledećoj slici prikazana je šema zvezde na primeru
Magacinskog poslovanja (dokumenta – prijemnica i trebovanje).
Slika 9: Šema zvezde na primeru magacinskog poslovanja
2.1.5. Generisanje baze podataka
Aktivnost generisanja baze podataka vrši se korišćenjem SQL jezika. ERWin
omogućava automatsko generisanje koda preko tzv. DDL (Data Definition
Language) datoteka.
U sledećem koraku se vrši izvršavanje DDL datoteka pomoću Query
Analyzer-a, alata koji je sastavni deo SQL Servera 2000. Ovaj alat omogućava
direktno zadavanje SQL naredbi i njihovo izvršavanje u cilju generisanja baze
podataka.
Prilikom generisanja baze mora se doneti odluka o načinu mapiranja
operacija koje će biti na raspolaganju u okviru fizičke baze podataka.
Kada se ovi poslovi uspešno urade, baza (skladište) podataka je generisana.
2.1.6. Učitavanje podataka
U toku učitavanja se mogu eventalno izvršiti još neke transformacije, mada
bi sa transformacijama podataka trebalo završiti pre učitavanja zbog problema
konzistentnosti baze.
Za učitavanje podataka može se koristiti alat MS SQL Server-a DTS (Data
Transformation Services) i njegova procedura učitavanja podataka pomoću
takozvanih DTS paketa.

2.2. Primena skladišta podataka


Primena skladišta podataka u magacinskom poslovanju vezana je za analizu
kretanja artikala po magacinima, kao i uvid u stanje zaliha po magacinima za
određeni vremenski period, odgovora na pitanja kao što su:
1. Koji artikal ima najviše promena po magacinima?
2. Količine utrošenih i primljenih artikala po magacinima za određen
vremenski period?
3. Koji magacin ima najviše promena?
4. Količina artikala za određeni vremenski period?
Precizna analiza može biti osnova za planiranje nabavke utrošenih artikala i
olakšava uvid u troškove po magacinima.

1. OLAP sistemi
Interaktivno analitičko procesiranje (On Line Analytical Processing - OLAP)
namenjeno je on line analizama i izveštajima, za razliku od produkcionih sistema
namenjenih ažuriranju baza podataka i obradi transakcija (On Line Transaction
Processing - OLTP).
Postavlja se pitanje: šta je to krajnem korisniku potrebno? Ono što krajnem
korisniku treba je sledeće:
 Da može da postavi bilo koje poslovno pitanje,
 Da bilo koji podatak iz preduzeća koristi za analizu,
 Mogućnost neograničenog izveštavanja.
U tu svrhu se koriste analitički OLAP sistemi koji obezbeđuju informacije
koje se koriste za analizu problema ili situacija.
Analitičko procesiranje se primarno vrši korišćenjem poređenja ili
analiziranjem šablona i trendova. Na primer, analitički sistem bi mogao da prikaže
kako se određena vrsta štampača prodaje u različitim delovima zemlje. Takođe,
mogao bi da prikaže i kako se jedna vrsta proizvoda trenutno prodaje u odnosu na
period kada se proizvod prvi put pojavio na tržištu.
OLAP sistemi omogućavaju jednostavnu sintezu, analizu i konsolidaciju
(agregacija podataka po zadatom kriterijumu) podataka. Koriste se za intuitivnu,
brzu i fleksibilnu manipulaciju transakcionim podacima. OLAP sistemi podržavaju
kompleksne analize koje sprovode analitičari i omogućavaju analizu podataka iz
različitih perspektiva (poslovnih dimenzija).
OLAP sistemi kao skladišta podataka koriste multidimenzionalnost i
denormalizaciju i može se reći da predstavljaju nadgradnju skladišta podataka.

Osnovni elementi OLAP sistema su:


 baza podataka, koja služi kao osnova za analizu,
 OLAP server, za upravljanje i manipulaciju podacima,
 interfejs sistem, prema korisniku i prema drugim aplikacijama,
 alati za administriranje.
Za korišćenje OLAP složene procedure potrebno je transakcione podatke
prebaciti u posebnu bazu podataka.
OLAP pristup mora od hardvera da poseduje poseban računar, tzv. OLAP
server, na koji se povezuju relacione BP, eksterni izvori podataka i ostali interni
podaci, koji su podržani grafičkim interfejsima, radnim tabelama i ostalim PC
alatima.
OLAP serveri koriste višedimenzione strukture za čuvanje podataka i veza
između njih. Višedimenzione strukture se najbolje vizuelizuju kao kocke podataka
i kao kocke u kockama podataka. Svaka strana kocke se naziva dimenzijom.
Dimenzija predstavlja kategoriju podataka, kao što su tip proizvoda, region, vreme
itd. Svaka ćelija kocke sadrži agregirane podatke koji su u vezi sa dimenzijama. Na
primer, jedna ćelija može sadržati podatke o ukupnoj prodaji za dati proizvod i
region u toku jednog meseca.
OLAP serveri podržavaju tipične analitičke operacije:
 konsolidacija – ovom operacijom se vrši agregacija podataka po
zadatom kriterijumu,
 drill down/up – ove operacije omogućavaju prikazivanje više ili manje
detalja podataka,
 isecanje (slice & dice) – ove operacije obezbeđuju prikazivanje
podataka iz različitih perspektiva, pri čemu se isecanje najčešće vrši
po vremenskoj dimenziji da bi se analizirali trendovi (na primer, jedan
isečak kocke može prikazivati sve podatke o prodaji za zadati tip
proizvoda za sve regione, a drugi isečak može prikazivati sve podatke
o prodaji po kanalima za svaki tip proizvoda).
Još jedna karakteristika OLAP servera jeste ta što oni smeštaju podatke u
sabijenom, zgusnutom obliku. Ovo se postiže dinamičkom selekcijom tehnika za
kompresiju podataka da bi se što bolje iskoristili prostori za čuvanje podataka.
Retko popunjene matrice se čuvaju odvojeno od dosta popunjenih matrica. Na ovaj
način OLAP serveri minimizuju zahteve za čuvanje podataka.
Interfejs OLAP sistema treba da omogući korisniku komforan rad,
samostalno izvođenje analitičkih operacija i dobijanje pregleda i poslovne grafike,
bez znanja programiranja i strukture baze podataka.

Zahtevi koje OLAP mora da ispuni su:


 mogućnost rada sa velikim skupom podataka i velikim brojem
korisnika,
 kratko vreme odziva na upit,
 mogućnost rada sa podacima sa različitim nivoima detalja,
 sposobnost proračuna složenih matematičkih funkcija,
 podrška za šta-ako analizu, modelovanje i planiranje,
 jednostavnost uvođenja i održavanja sistema,
 zaštita podataka,
 mogućnost rada sa velikim brojema alata pomoću kojih će se
pristupati podacima, vršiti analiza i prikazivati podaci.
5. Analiza podataka korišćenjem Microsoft Excel dinamičke tabele
Analiza podataka organizovanih u OLAP kocke može da se vrši korišćenjem
PivotTable (dinamička tabela sa objedinjenim podacima iz neke baze podataka)
servisa koji omogućava pristup podacima u OLAP kockama. Na sledećoj slici su
prikazana dva načina pristupa podacima u OLAP kockama, korišćenjem Microsoft
Excel-a ili izradom posebne aplikacije, primenom tzv. ADO mehanizama.

Slika 19. Pristup OLAP kockama


U našem slučaju korišćen je Microsoft Excel jer je to alat čija je osnovna
namena analiza podataka (Microsoft klasifikacija). Analiza podataka organizovanih
u OLAP kocke u Excel-u se vrši izradom tzv. pivot tabela. Microsoft Excel
omogućava i vršenje analiza korišćenjem dodatnih alata, koji su njegov sastavni
deo. Korisnik ima mogućnost da direktno iz Excel-a vrši štampanje izveštaja za
određeni pogled na podatke (izabrani nivoi detaljnosti i raspored dimenzija).
Pivot tabela predstavlja dinamičku tabelu sa objedinjenim podacima iz neke
baze podataka. Ona služi za tabelarno prikazivanje više vrsta podataka. U okviru
nje se sumarni podaci mogu prikazivati na bilo kom nivou detaljnosti. Za potrebe
izrade pivot tabela, u Microsoft Excel-u postoji čarobnjak (PivotTable Wizard).
Sam postupak izrade se odvija u sledećim koracima:
Formiranje pivot tabele – sa prozora PivotTable Fild vrši se prevlačenje polja
(dimenzija i sumarnih podataka) na odgovarajuća mesta u pivot tabeli (polja,
strane, reda i kolone). Formirana pivot tabela je prikazana na sledećoj slici.

Slika 20. Formiranje pivot tabele

Izgradnja OLAP kocke


Izgradnja OLAP kocke biće opisana na primeru kreiranja dimenzionog modela
kontrole kvaliteta. Kao izvor podataka u ovom primeru korišćen je upit
(višetabelarna šema podataka) .
,

Slika 2: OLAPCube Explorer


Kao alat za kreiranje OLAP Kocke, korišćen je AderSoft –OlapCube softver.

Pri pokretanju OlapCube programa, otvara se OLAPCube Explorer. Klikom na


opciju New Cube otvara se dijalog za kreiranje nove kocke. U dijalog
upisujemo naziv kocke koju kreiramo.

I Korak: Povezivanje na izvor podataka

Uz pomoć opcije Link To bira se tip izvora iz koga se preuzimaju podaci za


kreiranje OLAP kocke. U ovom slučaju tip izvora podataka će biti Microsoft
Access (Slika 3).

Slika 3: Povezivanje na izvor podataka

Odabirom izvora Microsoft Access, iz padajućeg menija opcije Link To, otvara se
sistem datoteka iz koga biramo Northwind bazu podataka.
Slika 4: Izbor izvora podataka

Po izboru baze podataka, otvara se dijalog Tables iz koga se bira jedna ili vise
tabela koje će se koristiti pri izgradnji OLAP kocke (Slika 5).

Slika 5: Izbor izvora podataka

U ovom primeru koristiće se tabela Prodaja (Slika 5) koja je kreirana kao upit
nad bazom NorthWind.
.
II Korak: Definisanje dimenzija i mera

U ovom primeru biće kreirano pet dimenzija:

1. Dobavljač,
2. Dostavljač,
3. Proizvod,
4. Kupac,
5. Prodavac,
6. Vreme,

kao i četiri agregirane mere:

1. Količina,
2. Cena,
3. Popust,
4. Cena sa popustom.

Za definisanje dimenzija i mera, pristupa se OlapCube Writer dijalogu.

OlapCube Writer dijalog se sastoji od tri celine (Slika 5):

1. Na levoj strani se nalazi panel na kome je prikazana struktura kocke koja


će biti kreirana:

Dimensions – sekcija za definisanje dimenzija


Measures – sekcija za definisanje mera
Calculated Members – sekcija za definisanje izvedenih mera

2. U gornjem desnom uglu se nalazi panel u kome se nalazi struktura


podataka koja je preuzeta iz izvora.

3. U donjem desnom delu, nalazi se panel koji prikazuje izabrane podatke (iz
izvora ili iz kocke)
Slika 6: OlapCube Writer dijalog

Da bi se definisala dimenzija Prodavac, prevlači se (Drag and Drop), atribut


RegionProdavca iz izvora u sekciju Dimensions (Slika 6).

Slika 7. Kreiranje hijerarhijskog nivoa dimenzije (TeritorijaProdavca)


Prevlačenjem atributa na već definisanu dimenziju kreiraju se hijerarhijski nivoi
dimenzije. U ovom slučaju kreiraće se još dva hijerarhijska nivoa: Teritorija
prodavca i Prodavac (Slika 7 i Slika 8).

Slika 8. Kreiranje hijerarhijskog nivoa dimenzije (Prodavac)

Kada su svi hijerarhijski nivoi dimenzije definisani, naziv dimenzije


RegionProdavca, biće promenjen u Prodavac. Naziv dimenzije se menja tako što
se iz padajućeg menija, koji se dobija desnim klikom miša nad željenom
dimenzijom odabere opcija Properties (Slika 9).
Slika 9: Promena naziva dimenzije

Opcija Properties otvara dijalog za redefinisanje naziva dimenzije.

Slika 10: Dijalog za definisanje novog naziva dimenzije

Konačno definisana je hijerarhijska dimenzija Prodavac. Analognim postupkom


se definišu i ostale dimenzije.
III Korak: Definicija vremenske dimenzije

Vremenska dimenzija u OlapCube programu, može se direktno kreirati ukoliko


postoji datumski atribut u izvoru podataka. U ovom primeru korišćen je atribut
OrderDate.

Slika 11: Kreiranje vremenske dimenzije

Prevlačenjem atributa OrderDate u sekciju za dimenzije otvara se dijalog za


kreiranje vremenske dimenzije (Slika 11). U ovom dijalogu se određuju nivoi
granularnosti vremenske dimenzije po kojima će se vršiti agregiranje mera. U
ovom primeru su izabrani sledeći nivoi: Godina, Kvartal, Mesec, Dan (Slika 12)
Slika 12: Kreiranje vremenske dimenzije

Kao rezultat ovog postupka dobijena je hijerahijska dimenzija Vreme (Slika 13).

Slika 13: Kreiranje vremenske dimenzije


IV Korak: Definisanje mera

Za kreiranje mera u programu OlapCube, postoje dve sekcije:

1. Sekcija Measures – služi za definisanje osnovnih mera na osnovu atributa


iz izvora podataka

2. Sekcija Calculated Members – služi za definisanje izvedenih mera na


osnovu prethodno definisanih osnovnih mera

U ovom primeru definisane su tri osnovne mere:

Sum of Cena – proivod atributa CenaPoKomadu i


Količina Sum of Kolicina,
Sum of Popust – proizvod atributa CenaPoKomadu, Količina i Popust.

Kao i jedna izvedena mera:

CenaSaPopustom – razlika mera Sum of Cena i Sum of Popust

Slika 14: Kreiranje osnovnih mera modela


Odabirom opcije Properties za svaku osnovnu meru otvara se dijalog Measure u
kome se definše formula na osnovu koje će se mere agregirati po dimenzijama,
kao i funkcija agregiranja (Sum, Count, Max, MIn).

U ovom primeru mera Cena, koja predstavlja ukupnu cenu jedne prodaje,
definisana je kao proizvod izvornih atributa CenaPoKomadu i Količina. Kao
funkcija agregiranja, izabrana je funkcija Sum (Slika 15).

Slika 15: Definisanje mere Cena

Mera Popust, koja predstavlja apsolutnu vrednost popusta jedne prodaje,


definisana je kao proizvod izvornih atributa CenaPoKomadu i Popust (u izvornim
podacima Popust je dat procentualno). Kao funkcija agregiranja, izabrana je
funkcija Sum (Slika 16).

Slika 16: Definisanje mere Popust


Odabirom opcije Properties za svaku izvedenu meru otvara se dijalog Calculated
member u kome se definše formula na osnovu koje će se definisati izvedene
mere na osnovu prethodno definisanih prostih mera.

U ovom primeru, kao izvedena mera definisana je CenaSaPopustom, koja se


računa kao razlika osnovnih mera Sum of Cena i Sum of Popust.

Slika 17: Definisanje izvedene mere CenaSaPopustom

Konačno, kada je definisana kompletna struktura kocke (dimenzije i mere), na


osnovu strukture izvornih podataka, klikom na opciju Build, prelazi se na
popunjavanje kocke podacima iz izvora.

Slika 18: Kreiranje OLAP kocke


Seminarski rad Danijela Ćirušić

Ukoliko je izgradnja kocke uspešno izvršena OlapCube daje mogućnost


manipulacije kockom na dva načina:

Uz pomoć OlapCube Reader – a (ugrađeni alat za izveštavanje)


U z pomoć Microsoft Excel –a

Slika 19: Izbor alata za izveštavanje nad OLAP kockom

40

You might also like