business intelligence u nautiČkom turizmu

50
SVEUÈILIŠTE U ZAGREBU EKONOMSKI FAKULTET - Zagreb Diplomski rad BUSINESS INTELLIGENCE U NAUTIÈKOM TURIZMU implementacija OLAP sustava Mentor: prof. dr. Mladen Varga Student: Damir Sovilj Smjer: Poslovna informatika Zagreb, lipanj 2004.

Upload: dangquynh

Post on 29-Jan-2017

228 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

SVEUÈILIŠTE U ZAGREBUEKONOMSKI FAKULTET - Zagreb

Diplomski rad

BUSINESS INTELLIGENCE U NAUTIÈKOM TURIZMU– implementacija OLAP sustava

Mentor: prof. dr. Mladen Varga

Student: Damir Sovilj

Smjer: Poslovna informatika

Zagreb, lipanj 2004.

Page 2: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

1

Sadržaj

1. UVOD ........................................................................................................................2

2. POJAM BUSINESS INTELLIGENCE (POSLOVNA INTELIGENCIJA) ......3

3. KAKO I KADA JE POÈELA PRIÈA? .................................................................4

4. ZAŠTO POSLOVNA INTELIGENCIJA U NAUTIÈKOM TURIZMU?.........5

4.1. Dosadaðnji naèin prikupljanja i obrade podataka ............................................54.2. Razlozi za implementacijom sustava poslove inteligencije ...............................54.3. Vizija koriðtenja sustava.....................................................................................6

5. VIŠE RIJEÈI O OLAP-U........................................................................................7

5.1. Pojam...................................................................................................................75.2. Obilježja OLAP-a................................................................................................85.3 Inaèice OLAP alata .............................................................................................9

6. DIZAJN I IMPLEMENTACIJA OLAP SUSTAVA ..........................................11

6.1. Dizajn tabele za unos podataka i priprema podataka za SQL server.............116.1.1. Dizajn Excel tabele .................................................................................................116.1.2. Priprema podataka za SQL Server.........................................................................12

6.2. ETL procesi – pocesi ekstrakcije, transformacije i punjenja .........................166.2.1 Data Transformation Services (DTS) ......................................................................166.2.2. Ekstrakcija podataka (engl. Extract)......................................................................176.2.3. Kreiranje paketa za ekstrakciju podataka u DTS-u ...............................................176.2.4. Transformacija odnosno preoblikovanje podataka (engl. Transform)..................256.2.5. Kreiranje paketa za transformaciju u DTS-u .........................................................296.2.6. Opis SQL upita za transformaciju podataka ..........................................................316.2.7. Punjenje ili unos podataka (engl. Load) ................................................................34

6.3. Izgradnja OLAP kocke .....................................................................................346.3.1. Zvjezdasta shema (engl. Star shema) .....................................................................366.3.2. Pahuljasta shema (engl. Snowflake shema) ...........................................................37

7. ANALIZA PODATAKA........................................................................................39

7.1. Raslojavanje i presijecanje (engl. Slice and Dice Method) ............................397.2. Rotacija ili pivotiranje (engl. Pivoting) ...........................................................40

8. ZAKLJUÈAK .........................................................................................................43

9. KORIŠTENI IZVORI............................................................................................44

10. PRILOG ................................................................................................................45

Page 3: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

2

1. UVOD

Danas je u svijetu poslovanja opãi trend implementacija Business Intelligence

sustava, odnosno sustava poslovne inteligencije. Ne iz razloga kako bi se zaposlenici

poduzeãa mogli hvaliti da su u trend pa su ga zato implementirali veã iz nužnosti, jer

kvalitetne poslovne odluke moguãe je donositi samo uz pomoã informacija. Sustav

poslovne inteligencije na osnovu podataka koji se nalaze interno u poduzeãu,

smjeðteni u transakcijskim bazama ili nekim fileovima (èesto u fileovima tabliènih

kalkulatora npr. MS Excel), te podataka koji dolaze iz eksternih izvora (npr. Državni

zavod za statistiku, Hrvatska narodna banka i sl.) kreira informacije. Informacije koje

su podloga za donoðenje kvalitetnih poslovnih odluka koje su se do nedavno donosile

na osnovu intuicije. Uz sustav poslovne inteligencije toèno se zna kakovo je stanje u

poduzeãu i svim njegovim dijelovima, te stanje na tržiðtu kako bi suvremeni

menadžer mogao pokazati svoje sposobnosti rukovoðenja u punom sjaju.

Ovaj diplomski rad ãe prikazati dizajniranje i implementiranje sustava

poslovne inteligencije za nautièki turizam. Podaci su prikupljeni od strane Državnog

zavoda za statistiku i nalaze se u papirnatom obliku. Vidjet ãemo kako se podaci

prebacuju u digitalni oblik kako bi ih mogli iskoristiti za stvaranje sustava poslovne

inteligencije te dizajn i implementaciju istoga. Sustav ãe prvenstveno biti namijenjen

istraživaèima tržiðta i znanstvenicima ali uvelike i poduzetnicima nautièkog turizma.

Sustav ãe poèivati na MS SQL Server 2000 platformi a ovim radom ãe se prikazati

sve faze njegovog nastajanja.

Page 4: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

3

2. POJAM BUSINESS INTELLIGENCE(POSLOVNA INTELIGENCIJA)

Pojam Business Intelligence (poslovna inteligencija) prilièno davno skovao je

Stevan Dedijer ali je on u uporabi razmjerno kratko vrijeme. Iz akademsko-

obavjeðtajne sfere "prikupljanja" informacija evoluirao je u disciplinu kojoj je svrha

ne toliko prikupljanje, koliko obrada, analiza, vizualizacija i upotreba informacija u

poslovne svrhe, prvenstveno u svrhu podrðke donoðenju poslovnih odluka.

Prema definiciji pojam poslovna inteligencija objedinjava metodologije,

tehnologije i platforme za Data Warehousing (DW), On-line Analytical Processing

(OLAP) i Data Mining (DM), koje omoguãavaju tvrtkama kreiranje korisnih

upravljaèkih informacija iz podataka o poslovanju, koji se nalaze disperzirani na

razlièitim transakcijskim sustavima te dolaze iz razlièitih internih i eksternih izvora.

U stvarnosti, poslovna inteligencija je s jedne strane naèin poslovnog

promiðljanja koji omoguãava da se poslovne odluke na svim razinama odluèivanja

donose temeljene na relevantnim i ažurnim poslovnim informacijama, a ne temeljene

na predosjeãaju i subjektivnom utisku. Promatrano s informatièke strane, poslovna

inteligencija je složeni informacijski sustav koji automatiziranim procedurama

prikuplja podatke iz razlièitih izvora, obraðuje ih, transformira i integrira, te

omoguãava korisnicima dostup do kvalitetne informacije na intuitivan i lako

razumljiv naèin1.

I za kraj, od mnoðtva definicija navedene su dvije koje prezentiraju sve prije

reèeno:

Steve Murfitt:

"Poslovna je inteligencija naèin dostavljanja pravih informacija u pravome

formatu u prave ruke u pravom trenutku. Dobar sustav poslovne inteligencije

prikuplja informacije iz svih dijelova tvrtke, analizira ih, priprema potrebna izvjeðãa i

ðalje ih ljudima koji ih trebaju.

1 http://www.skladistenje.com/

Page 5: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

4

Na taj naèin, svaki pojedinac dobiva informacije 'skrojene' prema njegovim

potrebama – financijski direktor financijske podatke, direktor prodaje podatke o

prodaji, direktor marketinga marketinðke podatke, itd."

Vinod Badami:

"Pojednostavljeno definirano, poslovna inteligencija je proces prikupljanja

raspoloživih internih i relevantnih eksternih podataka, te njihove konverzije u korisne

informacije koje mogu pomoãi poslovnim korisnicima pri donoðenju odluka.2"

3. KAKO I KADA JE POÈELA PRIÈA?

Bit poslovne inteligencije razvijena je prilièno davno. Naime, 17. stoljeãe bilo

je razdoblje procvata meðunarodne trgovine. Otkriveni su novi teritoriji i plovni

putovi, a pomorci-pustolovi sa svojih su putovanja donosili egzotiène stvari èudnih

svojstava, izgleda i namjena. Meðutim, njihova putovanja su bila izložena raznim

kuðnjama, izazovima i novim tipovima rizika. Trebala im je neka vrsta zaðtite od

opasnosti ðto su na njih vrebale na otvorenom moru. To je nadahnulo novi tip

poduzetnika – pomorske osiguravatelje – koji su bili spremni pokriti ðtete, odnosno

gubitke, u zamjenu za odgovarajuãu naknadu ili premiju.

Veã su tada osiguravatelji ovisili o toènim i ažurnim informacijama,

primjerice, o plovnim putovima, gusarskim aktivnostima, politièkoj situaciji u

razlièitim regijama svijeta, atmosferskim prilikama u odreðenim zemljopisnim

podruèjima, stanju broda i tereta, te karakteristikama posade, ali isto tako i o

potrebama, željama i preferencijama potencijalnih kupaca, te njihovoj spremnosti na

kupnju egzotiènih artikala.

Da bi doðli do potrebnih informacija, mnogi su pomorski osiguravatelji poèeli

posjeãivati tada popularnu kavanu (a zapravo, krèmu) koju je u Londonu držao

stanoviti Edward Lloyd. Bilo je to mjesto gdje su ti novi poduzetnici mogli

meðusobno i s pomorcima razmjenjivati i dijeliti informacije, steèena iskustva i

spoznaje. Danas možemo ustvrditi: bilo je to mjesto gdje je stvorena prva

2 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 6: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

5

osiguravajuãa kompanija, koju je osnovalo 79 poduzetnika, prvih dionièara kompanije

Lloyd's. No, danas možemo isto tako mirne duðe ustvrditi – bilo je to mjesto gdje je

roðena poslovna inteligencija, koju je stvorila masa znanih i neznanih poduzetnika,

pomoraca i pijanaca3.

4. ZAŠTO POSLOVNA INTELIGENCIJA U NAUTIÈKOMTURIZMU?

4.1. Dosadaðnji naèin prikupljanja i obrade podataka

Podaci o nautièkom turizmu u Hrvatskoj se prikupljaju na poèetku tekuãegodine za proteklu godinu, ðto znaèi da se primjerice u 2004. godini kompletiraju

podaci za 2003. godinu. Podaci se prikupljaju slanjem obrasca TU-18 (vidi prilog,

poglavlje 10.), od strane Državnog zavoda za statistiku, svakoj marini na podruèjuRepublike Hrvatske koja ispunjeni obrazac vraãa Državnom zavodu za statistiku.

Državni zavod za statistiku prikupljene podatke obraðuje i analizira te prezentira

informacije koje smatra bitnima za stanje u nautièkom turizmu. Kako se naime radi u

veãini sluèajeva da se usporede podaci sa prethodnom godinom, i to podaci koje oni

smatraju bitnima, poduzetniku za dobro stanje na tržiðtu preostaje jedino da naruèidetaljniju analizu koja iziskuje vrijeme i povlaèi za sobom izvjesne troðkove.

4.2. Razlozi za implementacijom sustava poslove inteligencije

Iz obrasca TU-18 (vidi prilog, poglavlje 10.) prilièno je mukotrpan posao

obrade i analize jer govorimo o sedamdesetak marina pa kad joð naruèitelj analize želi

usporedbu sa prethodnih pet ili ðest godina, ili za cjelokupno razdoblje za koje postoje

podaci, statistièari se nalaze u nezavidnoj situaciji u kojoj je zaraðeni kruh poprilièno

tvrd.

3 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 7: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

6

Implementacijom OLAP sustava poslovne inteligencije, kojem je cilj obrada,

analiza i vizualizacija podataka za sva razdoblja za koja postoje podaci, prethodno

opisani posao statistièara sada radi sustav, a naruèitelju se podaci isporuèuju trenutno.

4.3. Vizija koriðtenja sustava

Institut za turizam, kao veliki konzument podataka Državnog zavoda za

statistiku, prepoznao je prednosti implementacije ovakvog sustava te krenuo u

realizaciju istoga. Ideja je da se otkupljuju podaci od Državnog zavoda za statistiku te

se obradom pomoãu OLAP-a sustava koriste za interne potrebe ali da se ujedno

omoguãi i eksterna konzumacija (komercijalizacija). Eksterna konzumacija se provodi

na naèin da se uspostavi Web mjesto na kojem je moguãe koriðtenje sustava uz

razlièite modele pretplate (tarife) koji su proporcionalni razini detaljnosti analize

podataka. Primjerice ako želimo usporeðivati prihode marina na osnovu teritorijalnog

ustroja (i to administrativne podjele), moguãa ja usporedba na razini županija, opãina

i naselja (vidi sliku 1.). Marina bi bila najniži nivo detaljnosti ali kako se podaci

dobivaju agregirani na razini naselja jer se ne odobrava ustupanje podataka koji imaju

identifikacijski kljuè marine, najniža razina detaljnosti su naselja a pretplata je

naravno najviða.

slika 1. Teritorijalni ustroj - administrativna podjela

Ovakvim sustavom poduzetniku je potreban analitièki naèin razmiðljanja,

edukacija iz koriðtenja sustava te financijska sredstva za pretplatu kako bi posao

analize tržiðta mogao obaviti samostalno u udobnosti vlastite stolice.

ÞUPANIJA

OPÃINA

NASELJE

Page 8: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

7

5. VIŠE RIJEÈI O OLAP-U

5.1. Pojam

OLAP alati služe za izvoðenje znanja iz podataka. OLAP je nastao kao

akronim punog engleskog naziva On-Line Analytical Processing, ðto se može prevesti

kao "online analitièka obrada". Termin je "skovao" britanski matematièar E.F. Codd,

koji je postavio temelje relacijskog raèuna (engl. Relational Calculus) i 1970. godine

predstavio relacijski model podataka. Taj je model podataka osnovom danas

najpopularnijeg tipa baza podataka – relacijskih baza podataka.

Naziv nije sluèajno odabran, jer on sam, a joð viðe akronim, dobro ukazuju na

razliku prema veã prije poznatim alatima za online transakcijsku obradu, u izvornom

engleskom izrièaju On-Line Transaction Processing, odnosno OLTP. 1993. godine

Codd je definirao ðirok skup kriterija kojima trebaju udovoljavati baze podataka u

kojima ili nad kojima ãe se primjenjivati OLAP alati.

Proizvoðaèi softvera ubrzo su shvatili potencijale i revolucionarne utjecaje

koje primjena Coddove teorije može imati na praksu upravljanja podacima te prionuli

razvoju odgovarajuãih softverskih rjeðenja za analitièku obradu podataka. Valja

napomenuti kako su tada relacijske baze podataka bile veã uvelike u uporabi i zapravo

postale vodeãim modelom u podruèju pohrane podataka, ali su se koristile iskljuèivo

u svrhe online transakcijskih obrada.

Danas, desetak godina kasnije, gotovo da i nema važnijeg proizvoðaèasoftvera koji ne nudi neke svoje OLAP alate. Koncem 2002. godine ukupan promet

ostvaren na tržiðtu OLAP alata iznosio je približno 3.5 milijardi amerièkih dolara4.

4 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 9: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

8

5.2. Obilježja OLAP-a

Suvremeni OLAP sustavi nude sljedeãe moguãnosti5:

1. OLAP predstavlja konceptualni i intuitivni model kojega i oni korisnici koji

nisu posebno obrazovani i specijalizirani za obavljanje analitièkih poslova

mogu lako razumjeti i brzo primijeniti u svom radu. Model se zasniva na

metodologiji multidimenzijske analize, ðto znaèi da podatke možeistovremeno "gledati" kroz veãi broj filtara, koji se u struènoj terminologiji

nazivaju dimenzijama.

2. OLAP alati omoguãuju obavljanje vrlo brzih analiza. Brzina rada OLAP

sustava omoguãuje menadžerima i struènjacima postavljanje pitanja i

dobivanja odgovora u vremenu kraãem no ðto je bilo ikada prije pojave tih

alata, ðto, dakako, ima pozitivnog utjecaja na kvalitetu njihovih odluka.

Sustavi rade "brzinom misli" pa dolazi do stvaranja tzv. sindroma beskonaènih

pitanja, ðto znaèi da se svaki zanimljiv uzorak i koristan segment informacija u

bazi podataka može istražiti.

3. OLAP alati u sebi ukljuèuju vrlo robusne sposobnosti raèunanja, potrebne za

zadovoljavanje specifiènih proraèunskih zahtjeva koje postavlja

viðedimenzijska struktura. Teorijski, broj dimenzija je neogranièen, a u praksi

nisu rijetki sluèajevi da se taj broj u sofisticiranim analizama penje na desetke

ili èak i viðe. To èak nadilazi i kognitivne moguãnosti prosjeènog èovjeka, pa

se može reãi da kvalitetni OLAP alati na neki naèin predstavljaju proðirenje ili

nadogradnju èovjekove inteligencije. Proraèunske moguãnosti OLAP alata

dopuðtaju èovjeku – poslovnom analitièaru – pisanje jednostavnih formula

koje ãe primjenjivati uzduž viðe dimenzija, a pritom moraju napisati samo

nekoliko jednostavnih programskih instrukcija, odnosno linija koda.

OLAP alati, dakle, obuhvaãaju ðirok spektar moguãnosti, od jednostavnog

pretraživanja i navigacije, preko proraèuna (kalkulacija), do ozbiljnijih analiza poput

5 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 10: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

9

analize vremenskih serija i kompleksnog modeliranja. Na taj naèin, oni mogu

"pokriti" èitav hijerarhijski lanac ðto èini okosnicu donoðenja informiranih poslovnih

odluka – lanac koji zapoèinje podacima, nastavlja se informacijama, a zavrðava

poslovnom inteligencijom.

5.3 Inaèice OLAP alata

Danas se na tržiðtu mogu naãi èetiri glavne inaèice OLAP alata6:

· MOLAP (engl. Multidimensional OLAP)

· ROLAP (engl. Relational OLAP)

· DOLAP (engl. Desktop OLAP)

· HOLAP (engl. Hybrid OLAP)

MOLAP ili viðedimenzijski OLAP predstavlja skup proizvoda koji koriste

svoju vlastitu bazu podataka n dimenzionalne matriène strukture. Ona nije izgraðena

ni na relacijskom niti na bilo kojem drugom opãem modelu ili standardu, ðto možeizazvati odreðene probleme u primjeni ovog tipa OLAP alata. S jedne strane, takvi ãealati biti teðko prilagodljivi promjenama u velièini sustava kojeg se pomoãu njih želi

analizirati i pratiti, jer se svi elementi tog sustava smatraju potpuno ravnopravnima,

tretiraju se gotovo mehanièki i nemoguãe je utvrditi neku vrstu hijerarhije ili sheme

prioriteta meðu njima, pa takav model podataka neãe uvijek objektivno odražavati

obilježja onog dijela stvarnog svijeta na koji se odnosi.

MOLAP gledan kao pravac u razvoju OLAP alata prvi se pojavio te je od

izvorne relacije napravio multidimenzionalnu kocku. Njegova prednost bila je brzina,

a mana ogromno zauzeãe prostora u sluèaju postojanja veãeg broja dimenzija7.

ROLAP ili relacijski OLAP kao ðto mu sam naziv kaže, koristi relacijski

model kao temelj svoje baze podataka. Kao i svaki relacijski model podataka, i ovaj

se može definirati tako da vrlo vjerno odražava stvarni svijet, ðto je velika prednost

ROLAP-a pred MOLAP-om. Naime, svaki proizvoðaè ovakvih alata želi u svoj

6 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.7 http://www.skladistenje.com/

Page 11: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

10

proizvod unijeti neku specifiènost, koju onda predstavlja kao posebnu kvalitetu svojeg

rjeðenja. Time se, meðutim, otežava primjena standardnih upitnih jezika, poput SQL-

a, na koje su korisnici navikli, pa neke druge oblike interakcije s bazom podataka ne

smatraju prednoðãu veã nedostatkom takvih sustava8.

ROLAP je bio drugi pravac u razvoju OLAP alata, koji je na postojeãu relaciju

dodao samo sumarizacije. Njegova prednost je bio mali prostorni overhead, ðto je

plaãeno smanjenom brzinom9.

DOLAP ili OLAP za stolna raèunala prilagoðen je, dakako, primjeni na

stolnim raèunalima skromnijih memorijskih kapaciteta i obradbenih moguãnosti od

velikih poslužiteljskih raèunala. U naèelu, DOLAP ne podržava viðekorisnièke

aplikacije, veã samo manje aplikacije namijenjene zadovoljavanju potreba

pojedinaènih korisnika. U najnovije vrijeme razvijene su i inaèice za prijenosna, pa

èak i ruèna raèunala.

HOLAP ili hibridni OLAP predstavlja kompromisno rjeðenje. Zamisao je

njegovih tvoraca bila kombinirati prednosti MOLAP-a i ROLAP-a. Neki su u tome i

uspjeli, pa je upravo ova hibridna inaèica OLAP alata danas najèeðãe u primjeni.

HOLAP kao hibridni koncept u razvoju OLAP alata je prevladao. HOLAP

samo sumarizacije drži u multidimenzionalnoj kocki, dok elementarni nivo podataka

drži u izvornoj relaciji i njima pristupa pomoãu drill-trough procedura. Na taj naèinobjedinjene su i velika brzina pristupa i relativno malo zauzeãe prostora9.

U desetak godina postojanja OLAP alata na softverskoj sceni, struènjaci nisu

uspjeli doãi do jedinstvenog stava o tome koji je model, odnosno koja je inaèica

OLAP alata najbolja. Sa stajaliðta korisnika, meðutim, zapravo uopãe nije važno koju

inaèicu OLAP alata imaju na raspolaganju. Ono ðto ãe ih opredjeljivati pri

ocjenjivanju takvog alata jest, s jedne strane, njegova jednostavnost pri uporabi, te

brzina i prilagodljivost analitièkih moguãnosti koje nudi, s druge strane8.

8 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.9 http://www.skladistenje.com/

Page 12: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

11

6. DIZAJN I IMPLEMENTACIJA OLAP SUSTAVA

Prilikom dizajniranja OLAP sustava za nautièki turizam pomno je prouèavan

obrazac TU-18 (vidi prilog, poglavlje 10.) kako bi se sustav optimizirao, odnosno

kako bi bio saèinjen od ðto manjeg broja kocaka koje sadrže sve podatke prikupljene

obrascom. Nakon poduljeg razmatranja doðlo se do konaènog broja OLAP kocaka

koje ãe sustav sadržavati a on iznosi ðest. S obzirom da bi opis cjelokupnog dizajna i

implementacije sustava zauzeo poprilièan broj stranica odluèeno je da se prikažecjelokupan postupak (proces) za jednu OLAP kocku. Naziv kocke je Nautièki promet

– Duljina plovila, a sadrži podatke o broju plovila u luci nautièkog turizma za

razdoblje od 1995. do 2004. godine.

6.1. Dizajn tabele za unos podataka i priprema podataka za SQL server

6.1.1. Dizajn Excel tabele

Iz obrasca TU-18 (vidi prilog, poglavlje 10.), tabela 2. BROJ PLOVILA U

LUCI NAUTIÈKOG TURIZMA ZA RAZDOBLJE_____ , pod b) prema duljini

plovila, uneseni su podaci za plovila u luci nautièkog turizma prema duljini i tipu

plovila. Podatke je bilo potrebno prepisati u Excel tabele kako bi se isti mogli

"povuãi" u SQL server (viðe rijeèi kasnije).

Kao ðto vidimo u obrascu (vidi prilog, poglavlje 10.) tabela se sastoji od dva

dijela. Jedan dio se odnosi na plovila koja su stacionarna u promatranom razdoblju a

drugi dio na ona koja su u tranzitu. Odluèeno je da ãe se podaci prepisivati u dvije

tabele, jedna koja se odnosi na nautièki promet – stacionarno, a druga koja se odnosi

na nautièki promet – tranzitno.

Godina Naselje Duljina

plovila

Ukupno Motorne

jahte

Jahte na

jedra

Ostalo

slika 2. Izgled Excel tabele za unos podataka iz obrasca TU-18

Page 13: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

12

Podaci su se prepisivali kao ðto je veã reèeno u dvije tabele ovisno o

nautièkom prometu te su se kasnije spojeni u jednu tabelu (vidi sliku 3.) kojoj je

dodan jedan stupac (polje) koji sadrži podatak o nautièkom prometu (ovisno da li je

stacionaran ili tranzitan).

Godina Naselje Nautièki

promet

Duljina

plovila

Ukupno Motorne

jahte

Jahte na

jedra

Ostalo

slika 3. Izgled spojne tabele u Excelu

Kako tabela u ovakvom obliku sadrži prilièan broj tekstualnih podataka

potrebno je izvrðiti sreðivanje ("peglanje") podataka kako bi prenijeli podatke u SQL

Server bez odstupanja.

6.1.2. Priprema podataka za SQL Server

Podaci koji su u tekstualnom obliku (polja: Naselje, Nautièki promet, Duljina

plovila) se ðifriraju kako bi se ðto lakðe moglo manipulirati podacima kada oni budu

"povuèeni" u SQL Server. Šifranti (vidi slike 4., 5., i 6.), tabele koje sadrže ðifrirane

tekstualne podatke, kasnije ãe biti napravljene u SQL serveru i predstavljat ãedimenzije (viðe rijeèi kasnije). Ostali podaci, numerièki, se sreðuju na naèin da se na

mjesta na kojima nije uneðen podatak ili je uneðen neki znak (npr. x) unosi nula.

slika 4. Šifrant za duljine plovila

Duljina plovila

Šifra duljine Duljina

1 do 6 metara

2 6 – 8 m

3 8 – 10 m

4 10 – 12 m

5 12 – 15 m

6 15 –20 m

7 preko 20 m

Page 14: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

13

Nautièki promet

Šifra stac/tran Stac_tran

1 Stacionarno

2 Tranzitno

slika 5. Šifrant za nautièki promet

Naselja

Šifra naselja Naselje

061581 Supetarska Draga

055174 Rijeka

045110 Opatija

015709 Dubrovnik

052825 Pula

053147 Rab

055476 Rogoznica

… …

slika 6. Šifrant za naselja – navedena su samo neka naselja

Kako bi se dobio uvid u ðifrant za naselja na slici 6. su prikazane ðifre za

nekolicinu naselja. Kada ãe se raditi dimenzija teritorijalnog ustroja koja se sastoji,

pored naselja, joð i od opãina i županija kreirat ãe se tabela koja sadrži sve relevantne

podatke za dotiènu dimenziju (viðe rijeèi kasnije).

Page 15: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

14

Godina Naselje Nautièki

promet

Duljina

plovila

Motorne jahte Jahte na

jedra

Ostalo

1997 Opatija Stacionarno do 6 metara 0 1 0

1997 Opatija Stacionarno 6 – 8 m 8 11 0

1997 Opatija Stacionarno 8 – 10 m 14 42 3

1997 Opatija Stacionarno 10 – 12 m 27 72 3

1997 Opatija Stacionarno 12 – 15 m 14 38 0

1997 Opatija Stacionarno 15 – 20 m 10 13 0

1997 Opatija Stacionarno preko 20 m 0 0 0

1997 Opatija Tranzitno do 6 metara 26 58 3

1997 Opatija Tranzitno 6 – 8 m 72 154 8

1997 Opatija Tranzitno 8 – 10 m 53 119 6

1997 Opatija Tranzitno 10 – 12 m 60 132 11

1997 Opatija Tranzitno 12 – 15 m 37 85 5

1997 Opatija Tranzitno 15 – 20 m 10 23 2

1997 Opatija Tranzitno preko 20 m 0 0 0

slika 7. Izgled tabele prije ðifriranja (obrisano je polje Ukupno)- naveden je primjer

za jedno naselje u odreðenom razdoblju

Kao ðto vidimo na slici 7. potrebno je ðifrirati polja Naselje, Nautièki promet i

Duljina plovila. Polje Ukupno je obrisano jer ono predstavlja zbroj polja koja se

odnose na tip plovila. Ako korisnik uvidi potrebu za zbrojevima ili nekim drugim

matematièkim operacijama nad podacima iste se naprave u front-end klijentu koji ãebiti spojen na OLAP kocku.

Page 16: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

15

Konaèni izgled Excel tabele iz koje ãe se "povlaèiti" podaci u SQL server

možemo vidjeti na slici 8..

Godina Sifra_naselja Sifra_stac_tran Sifra_duljine Motorne_jahte Na_jedra Ostalo

1997 45110 1 1 0 1 0

1997 45110 1 2 8 11 0

1997 45110 1 3 14 42 3

1997 45110 1 4 27 72 3

1997 45110 1 5 14 38 0

1997 45110 1 6 10 13 0

1997 45110 1 7 0 0 0

1997 45110 2 1 26 58 3

1997 45110 2 2 72 154 8

1997 45110 2 3 53 119 6

1997 45110 2 4 60 132 11

1997 45110 2 5 37 85 5

1997 45110 2 6 10 23 2

1997 45110 2 7 0 0 0

slika 8. Konaèni izgled tabele u Excelu sa primjerom podataka za jedno naselje u

odreðenom razdoblju

Vidimo da je promijenjen naziv polja Naselje u naziv Sifra_naselja, jer se sada

u tom polju nalaze ðifre naselja, mjestom naziva naselja. Nadalje, polje Nautièki

promet je promijenjeno u naziv Sifra_stac_tran, i u njemu se nalaze ðifre koje ukazuju

na stacionaran ili tranzitan nautièki promet. I na kraju, polju Duljina plovila je

promijenjen naziv u Sifra_duljine, te se u njemu nalaze ðifre duljina ovisno o duljini

plovila (vidi sliku 4.). Ostalim poljima je samo promijenjen naziv, dok su numerièki

podaci nakon "peglanja" ostali neizmijenjeni.

Page 17: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

16

6.2. ETL procesi – procesi ekstrakcije, transformacije i punjenja

Skup procesa koji se u struènim krugovima nazivaju ETL procesi imaju za cilj

ekstrahirati odnosno zahvaãati ili vaditi (engl. Extract), transformirati odnosno

preoblikovati (engl. Transform) i puniti ili unositi (engl. Load) podatke iz jednog ili

viðe transakcijskih sustava u skladiðte podataka10.

MS SQL server 2000 ukljuèuje programski alat za obavljanje ovih procesa

naziva Data Transformation Services (DTS).

6.2.1 Data Transformation Services (DTS)

DTS je fleksibilan alat za prenoðenje i transformaciju podataka iz razlièitihOLE DB izvora podataka.

Neke od osobina DTS-a su:

· Fleksibilnost: Pored moguãnosti rada sa standardnim objektima SQL

Servera, DTS omoguãuje rad sa podacima bilo kojeg OLE DB izvora

podataka. Izvori podataka mogu biti izvori podataka ili odrediðtapodataka. Na primjer, DTS se može upotrijebiti za prenoðenje

podataka iz Oraclove baze podataka u Microsoft Accses bazu

podataka.

· Transformacije: DTS nije ogranièen samo na prenoðenje podataka iz

jedne tabele u drugu, veã podatke može i transformirati. Moguãetransformacije kreãu se od pronalaženja vrijednosti koje se nalaze u

drugoj tabeli do izraèunavanja koja obuhvaãaju podatke iz viðe kolona

i izvrðavanja složenih VBScript procedura za svaki red podataka.

· Koriðtenje skriptova: DTS se može proðiriti upotrebom popularnih

skript jezika, kao ðto su VBScript, JavaScript i PerlScript.

· Radni postupak: DTS sadrži dizajner radnog postupka koji

omoguãava povezivanje viðe DTS operacija i jedan paket. Operacije se

mogu izvrðavati jedna za drugom ili istovremeno, a paket može

10 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 18: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

17

odluèiti na osnovu uspjeha operacije, neuspjeha operacije ili nakon

njenog zavrðetka11.

6.2.2. Ekstrakcija podataka (engl. Extract)

Podatke koje smo pripremili u Excel tabeli sada je potrebno ekstrahirati

odnosno zahvatiti ili izvaditi. Kako ovaj proces izmeðu ostalog ukljuèuje i èiðãenje

podataka ono neãe biti opisano jer smo podatke veã pripremili (vidi poglavlje 6.1.2.

Priprema podataka za SQL Server).

Nakon ðto je u SQL Serveru kreirana baza podataka u kojoj ãemo pohraniti

podatke koje ãemo ekstrahirati iz Excel tabele pomoãu DTS alata (neãemo govoriti o

kreiranju baze jer je cjelokupni postupak opisan u knjizi: Kartalovski A.; Šeãerovski

S. "SQL Server 2000" – prijevod knjige Gunderloy M.; Jorden Joseph. L. "Mastering

SQL Server" Beograd, Mikroknjiga, 2001.), kreiramo paket koji ãe to izvrðiti. DTS je

sastavni dio MS SQL 2000 Servera, i to Enterprise Managera.

6.2.3. Kreiranje paketa za ekstrakciju podataka u DTS-u

Kreiranje paketa za ekstrakciju podataka obavlja se pomoãu DTS Import/Export

Wizard-a.

slika 9. DTS Import/Export Wizard

11 Kartalovski A.; Šeãerovski S. "SQL Server 2000" – prijevod knjige Gunderloy M.; Jorden Joseph. L."Mastering SQL Server" Beograd, Mikroknjiga, 2001.

Page 19: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

18

Prilikom pokretanja DTS Import/Export Wizarda (vidi sliku 9.) klikom miðana gumb Next kreãemo u kreiranje paketa koji ãe nam ekstrahirati podatke koji se

nalaze u Excel tabeli.

slika 10. Odabir izvora podataka

Forma prikazana na slici 10. nam omoguãuje da odaberemo izvor iz kojeg

ãemo ekstrahirati podatke. Za Data Source odaberemo Microsoft Excel 97-2000 te

nam se automatski otvori forma prikazana na slici 11..

Page 20: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

19

slika 11. Lociranje filea

U formi prikazanoj na slici 11. lociramo file iz kojeg ãe biti ekstrahirani

podaci. Pokraj natpisa File name kliknemo na gumb sa tri toèke te lociramo Excel file

koji sadrži podatke koje želimo ekstrahirati u SQL Server. Nakon toga pritisnemo

gumb Next.

slika 12. Odabir destinacije

Page 21: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

20

Klikom na gumb Next otvara nam se nova forma (vidi sliku 12.) u kojoj

odabiremo gdje želimo da nam se pohrane podaci. Kako nam je cilj da podaci budu

pohranjeni na SQL Server sve parametre ostavljamo kakvi jesu te pritisnemo gumb

Next. Naime, destinacija je SQL Server iako klikom na padajuãi meni pokraj

Destination možemo primjerice podatke pohraniti kao Access tabelu. Za Server je

automatski odreðen postojeãi, na padajuãem meni-u pokraj Server-a moguãe je

odabrati neki drugi. I na kraju kao baza podataka u koju ãe biti spremljeni podaci

namjeðtena je Nautika te je takoðer moguãe pomoãu padajuãeg meni-a odabrati neku

drugu.

Klikom na gumb Next kreãemo korak dalje u izradi paketa za ekstrakciju te

nam se otvara nova forma prikazana na slici 13.

slika 13. Specificiranje Kopiranje tabele ili Upit

Forma prikazana na slici 13. nam omoguãuje odabir da li želimo kopirati

tabelu iz filea koji smo odredili kao izvorni (vidi sliku 11.) ili želimo napraviti SQL

upit za ekstrakciju podataka. Mi odabiremo prvu moguãnost i klikom na gumb Next

otvaramo novu formu.

Page 22: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

21

slika 14. Odabir tabele

Na formi prikazanoj na slici 14. imamo moguãnost odabira tabele iz izvornog

Excel filea. Kako se u izvornom Excel fileu nalazi ðest tabela, jer ovaj projekt

ukljuèuje izradu ðest OLAP kocaka, odabiremo tabelu u kojoj se nalaze podaci

potrebni za izradu kocke Nautièki promet – Duljina plovila. Znaèi podaci koji se

odnose na broj plovila u luci nautièkog turizma za razdoblje od 1995. do 2004.

godine. Nakon odabira tabele kliknemo na gumb Next.

slika 15. Odabir opcije za snimanje paketa

Page 23: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

22

U formi koja nam se otvorila (vidi sliku 15.) imamo moguãnost odabira

snimanja paketa oznaèivanjem opcije Save DTS Package i izmeðu ostalog možemo

paket odmah pokrenuti odabirom opcije Run immediately, mi se odluèujemo na

snimanje jer ãemo u tom sluèaju na snimljenom paketu moãi izvrðiti joð neke

promjene, odnosno prilagoditi ga. Nakon oznaèavanja Save DTS Package kliknemo

na gumb Next a ostale postavke ostavljamo kako je prikazano na slici 15.

slika 16. Snimanje DTS paketa

Forma prikazana na slici 16. nam omoguãuje odabir imena DTS paketa koji ãenam služiti za ekstrakciju podataka. Na formi oznaèimo automatski postavljeno New

Package te ga preimenujemo u željeno ime, ostale postavke ostavimo kakve jesu te

kliknemo na gumb Next.

Page 24: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

23

slika 17. Zavrðetak postupka izrade DTS paketa

Nakon ðto smo kliknuli na gumb Next, pojavljuje nam se forma prikazana na

slici 17.. Ona naime upuãuje na to da smo postupak izrade DTS paketa za ekstrakciju

podataka iz Excel tabele priveli kraju te da bi postupak zavrðili potrebno je kliknuti na

gumb Finish. Klikom na taj gumb nað paket ãe biti pohranjen pod imenom koje smo

odabrali te isti možemo pokrenuti ili pak opcijom Design Package redizajnirati.

Izgled DST paketa za ekstrakciju podataka iz Excel filea možemo vidjeti na

slici 18.

slika 18. Izgled DTS paketa za ekstrakciju podataka

Page 25: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

24

Na slici 18. prikazan je izgled DTS paketa gdje Connection 1 oznaèava izvor

iz kojeg se podaci ekstrahiraju (u naðem sluèaju je to Excel tabela), Connection 2

oznaèava odrediðte podataka (u naðem sluèaju je to baza kreirana u SQL Server-u), te

je prikazan žuti valjak koji govori da ãe prilikom izvrðavanja ovog paketa biti kreirana

tabela (automatizirani SQL upit koji kreira tabelu).

Dvostrukim klikom miða na svaki od ovih elemenata koji èine DTS paket

moguãe je prilagoditi paket prema naðim željama. Primjerice u žutom valjku možemo

prilagoditi SQL upit ako želimo da nam se tabela drugaèije zove, ili da nam se

drugaèije zovu polja ili pak možemo unijeti SQL upit koji ãe obaviti joð neku

operaciju osim kreiranja tabele. Konkretno, nakon pokretanja paketa unosimo i

naredbu DROP TABLE jer prilikom dobivanja novih podataka za nautièki turizam

koristit ãemo ovaj paket za ekstrakciju, pa ãe postojeãa tabela biti obrisana i

napunjena novim ali i starim podacima. Starim podacima jer ãemo nove podatke

unijeti u postojeãi Excel file kako bi nam svi podaci bili na jednom mjestu s obzirom

da ne zauzimaju veliki prostor na hard disku.

Dvostrukim klikom na strelicu koja povezuje Connection 1 i Connection 2

moguãe je redizajnirati transformacije, primjerice ako ne želimo da nam sva polja iz

Excel tabele budu "povuèena" veã samo neka. O raznim moguãnostima dizajniranja

paketa vidi knjigu Kartalovski A.; Šeãerovski S. "SQL Server 2000" – prijevod knjige

Gunderloy M.; Jorden Joseph. L. "Mastering SQL Server" Beograd, Mikroknjiga,

2001..

Nakon ðto smo prilagodili DTS paket isti izvrðavamo naredbom Execute

package te izvrðavamo ekstrakciju podataka iz Excela u SQL Server. Tabela sa

podacima koju dobivamo naziva se "stagging" tabela, odnosno privremena tabela.

Ova tabela ne mora nužno biti privremena jer ako kojim sluèajem nije potrebno

izvrðiti nikakve obrade nad njom mogli bismo odmah krenuti u izradu kocke. Naravno

da to nije sluèaj u naðem primjeru pa kreãemo u izradu novog paketa kojim ãemo

podatke dovesti u željeni oblik.

Page 26: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

25

6.2.4. Transformacija odnosno preoblikovanje podataka (engl. Transform)

Transformacija podataka se takoðer obavlja pomoãu alata Data

Transformation Services (DTS) koja je sastavni dio softvera MS SQL Server 2000.

Prije nego li krenemo u prikaz izrade DTS paketa za transformaciju podataka

potrebno je prvo dizajnirati skladiðte podataka koje ãe nam biti osnovica za izradu

OLAP kocke.

slika 19. Izgled privremene "stagging" tabele

Kao ðto možemo vidjeti na slici 19. koja prikazuje privremenu tabelu koju

smo dobili ekstrakcijom podataka iz Excel filea, moguãe je napraviti OLAP kocku

koja bi imala èetiri dimenzije i tri mjere.

Moguãe dimenzije su:

· Vremenska – dobiva se iz polja Godina

· Teritorijalni ustroj – dobiva se iz polja Sifra_naselja

· Nautièki promet – dobiva se iz polja Sifra_stac_tran

· Duljina – odnosi se na duljinu plovila, dobiva se iz polja

Sifra_duljine

Moguãe mjere :

· Motorne jahte – polje Motorne_jahte

· Jahte na jedra – polje Na_jedra

· Ostalo – polje Ostalo

Kako nam je cilj da nam kocka omoguãi pogled na podatke kroz ðto viðedimenzija, iz moguãih mjera je moguãe napraviti joð jednu dimenziju koja bi

Godina Sifra_naselja Sifra_stac_tran Sifra_duljine Motorne_jahte Na_jedra Ostalo

Page 27: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

26

predstavljala tip plovila (motorne jahte, jahte na jedra i ostalo). Znaèi, potrebno je

napraviti takvu transformaciju podataka gdje bismo uveli dodatno polje koje ãe nam

oznaèavati tip plovila te polje koje ãe govoriti o broju plovila a odnosi se na pojedini

tip plovila.

Prilikom pripreme podataka za SQL Server govorili smo o sreðivanju

podataka gdje smo ðifrirali tekstualne podatke. Kako smo onda rekli, ti ðifranti ãe nam

predstavljati dimenzije pa je potrebno u bazi koju smo kreirali u SQL Serveru

napraviti dimenzijske tabele (kreiranje tabela vidi u knjizi Kartalovski A.; Šeãerovski

S. "SQL Server 2000" – prijevod knjige Gunderloy M.; Jorden Joseph. L. "Mastering

SQL Server" Beograd, Mikroknjiga, 2001).

Dimenzija je pripadnost entiteta na kojega se podaci odnose odreðenoj

kategoriji, klasi ili skupini. Dakle, svi èlanovi neke dimenzije prema nekim se

njihovim obilježjima mogu svrstati u neku skupinu.

Pripadnost skupini moguãe je provjeriti, odnosno testirati, i to na dva naèina12:

· Podaci o èlanovima moraju se moãi usporeðivati. Primjerice, mogu se

usporeðivati sadaðnji i buduãi èlanovi skupine, odnosno dimenzije.

· Podaci o èlanovima moraju se moãi agregirati u sumarne èlanove.

Dimenzija nam zapravo predstavlja svojevrsni filter koji omoguãuje pogled na

podatke.

Vratimo se na nað problem gdje je potrebno uvesti dodatnu dimenziju koja se

odnosi na tip plovila.

Potrebno je kreirati tabelu koja ãe sadržavati dva polja i to polje koje

predstavlja ðifru plovila (znaèi govori o tipu plovila) i polje koje govori o broju

plovila (mjera). Izgled dimenzijske tabele možemo vidjeti na slici 20.

12 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 28: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

27

Tip plovila

Šifra plovila Tip plovila

1 Motorne jahte

2 Jahte na jedra

3 Ostalo

slika 20. Dimenzijska tabela - tip plovila

Ostale veã spomenute dimenzijske tabele izgledaju identièno kao i ðifranti koji

su se koristili prilikom pripreme podataka za SQL Server pa ih nema potrebe

prikazivati, osim dimenzijske tabele teritorijalnog ustroja koja se sastoji od viðe razina

(nivoa).

Teritorijalni

ustroj

Šifra županije Naziv županije Šifra opãine Naziv opãine Šifra naselja Naziv naselja

slika 21. Dimenzijska tabela - teritorijalni ustroj

Slika 21. predstavlja dimenzijsku tabelu teritorijalnog ustroja koji se sastoji od

tri razine i to županija, opãina i naselja. Naime, takav teritorijalni ustroj predstavlja

administrativnu podjelu i omoguãit ãe nam pogled na podatke kroz tri, prethodno

spomenute razine.

Dimenzija vrijeme se dobiva iz polja Godina i za nju nije potrebno raditi

dimenzijsku tabelu, a ako bi osim godine sadržavala joð i dane i mjesece pomoãuAnalysis Managera, koji je sastavni dio SQL Servera 2000, napravila bi se datumska

dimenzija (moguãnost koju nam pruža taj alat).

Page 29: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

28

Poðto smo objasnili sve vezano uz dimenzije vrijeme je da pogledamo kako

izgleda naðe skladiðte podataka sa pripadajuãim dimenzijama.

Teritorijalni

ustroj

Šifra županije Naziv županije Šifra opãine Naziv opãine Šifra naselja Naziv naselja

Nautièki promet – Duljina plovila

Šifra naselja Godina Šifra stac/tran Šifra plovila Šifra duljine Broj plovila

slika 22. Izgled skladiðta podataka sa pripadajuãim dimenzijskim tabelama

Na slici 22. možemo vidjeti konaèan izgled skladiðta podataka na osnovu

kojeg ãemo napraviti naðu OLAP kocku. Kao ðto možemo vidjeti od tri polja

(Motorne jahte, Jahte na jedra i Ostalo) napravili smo dimenziju naziva Tip plovila, a

Duljina plovila

Šifra duljine Duljina

1 do 6 metara

2 6 – 8 m

3 8 – 10 m

4 10 – 12 m

5 12 – 15 m

6 15 –20 m

7 preko 20 m

Nautièki promet

Šifra stac/tran Stac_tran

1 Stacionarno

2 Tranzitno

Tip plovila

Šifra plovila Tip plovila

1 Motorne jahte

2 Jahte na jedra

3 Ostalo

Page 30: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

29

podatke koje smo imali u ta tri polja sad je potrebno prebaciti u polje Broj plovila koje

ãe predstavljati mjeru u naðoj OLAP kocki. Tu se vraãamo na poèetak ovog poglavlja,

znaèi kreãemo u izradu DTS paketa kojim ãemo izvrðiti tu transformaciju.

6.2.5. Kreiranje paketa za transformaciju u DTS-u

Prilikom kreiranja ovog DTS paketa neãemo viðe koristiti Wizard veã ãemo

prikazati izradu "ruèno".

U SQL Server-ovom alatu Enterprise Manager otvorimo Data Transformation

Services, oznaèimo Local Packages te desnim klikom miða odaberemo New Package.

S obzirom da su nam svi podaci potrebni za izradu skladiðta podataka u bazi na SQL

Serveru za izradu paketa potrebne su nam dvije stvari. Na lijevom dijelu ekrana (kad

pokrenemo naredbu New Package) imamo meni bar sa raznoraznim ikonicama koje

nam omoguãuju izradu paketa. Nama treba konekcija (znaèi veza sa serverom,

nacrtan je server) i ikona koja nam omoguãuje upis SQL upita (žuti valjak) (vidi sliku

23.).

slika 23. Suèelje za izradu DTS paketa ("ruèno")

Page 31: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

30

slika 24. DTS paket za transformaciju – konekcija (veza)

Prilikom stavljanja konekcije (vidi sliku 24.) jedino ðto trebamo odabrati pod

Database, bazu podataka koju smo kreirali i u kojoj nam se nalazi privremena tabela,

tabela dobivena ekstrakcijom podataka, i dimenzijske tabele. Nakon toga kliknemo na

OK.

slika 25. DTS paket za transformaciju – SQL upit

Page 32: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

31

Nakon stavljanja žutog valjka (vidi sliku 25.) omoguãen nam je unos SQL

upita kojim ãemo kreirati skladiðte podataka, izvrðiti transformaciju nad privremenom

tabelom te napuniti skladiðte podataka.

6.2.6. Opis SQL upita za transformaciju podataka

Prvo ãemo navesti nazive tabela koje smo veã pohranili na SQL Server kako

bi bio razumljiviji SQL upit koji unosimo u DTS paket za transformaciju.

· Privremena tabela – duzine_excel

· Teritorijalni ustroj – di_teritorijalni_ustroj

· Nautièki promet – Stac_tran

· Tip plovila – Tip_plovila

· Duljina plovila – Duljina

· Skladiðte podataka – fact_Duzine

SQL upit:

CREATE TABLE [Nautika].[dbo].[fact_Duzine] ([Sifra_naselja] numeric (9),[Godina] numeric (9),[Sifra_stac_tran] numeric (9),[Sifra_plovila] numeric (9),[Sifra_duljine] numeric (9),[Broj_plovila] int null);

insert into dbo.fact_Duzineselectduzine_excel.Sifra_naselja,duzine_excel.Godina,duzine_excel.Sifra_stac_tran,Tip_plovila.Sifra_plovila,duzine_excel.Sifra_duljine,duzine_excel.Motorne_jahtefrom duzine_excel, Tip_plovila, di_teritorijalni_ustroj, Stac_tran, Duljinawhere Tip_plovila.Sifra_plovila=1 anddi_teritorijani_ustroj.Sifra_naselja=duzine_excel.Sifra_naselja andStac_tran.Sifra_stac_tran=duzine_excel.Sifra_stac_tran andDuljina.Sifra_duljine=duzine_excel.Sifra_duljine;

Page 33: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

32

insert into dbo.fact_Duzineselectduzine_excel.Sifra_naselja,duzine_excel.Godina,duzine_excel.Sifra_stac_tran,Tip_plovila.Sifra_plovila,duzine_excel.Sifra_duljine,duzine_excel.Na_jedrafrom duzine_excel, Tip_plovila, di_teritorijalni_ustroj, Stac_tran, Duljinawhere Tip_plovila.Sifra_plovila=2 anddi_teritorijalni_ustroj.Sifra_naselja=duzine_excel.Sifra_naselja andStac_tran.Sifra_stac_tran=duzine_excel.Sifra_stac_tran andDuljina.Sifra_duljine=duzine_excel.Sifra_duljine;

insert into dbo.fact_Duzineselectduzine_excel.Sifra_naselja,duzine_excel.Godina,duzine_excel.Sifra_stac_tran,Tip_plovila.Sifra_plovila,duzine_excel.Sifra_duljine,duzine_excel.Ostalofrom duzine_excel, Tip_plovila, di_teritorijalni_ustroj, Stac_tran, Duljinawhere Tip_plovila.Sifra_plovila=3 anddi_teritorijalni_ustroj.Sifra_naselja=duzine_excel.Sifra_naselja andStac_tran.Sifra_stac_tran=duzine_excel.Sifra_stac_tran andDuljina.Sifra_duljine=duzine_excel.Sifra_duljine;

Opis upita:

Prvo kreiramo tabelu fact_Duzine koja ãe nam predstavljati naðe skladiðtepodataka. Polje Broj_plovila nam je jedino integer jer nam ono predstavlja mjeru nad

kojem moramo omoguãiti matematièke operacije ako se žele vrðiti analize.

Nakon ðto je kreirano skladiðte podataka potrebno je napuniti ga kroz tri

koraka. Zaðto tri koraka? Zato jer naða privremena tabela ima podatke o plovilima

smjeðtene u tri polja pa ãemo izvuãi podatke korak po korak. Prvo se odredi gdje se

podaci pune (naredba insert into) te se zatim selektiraju (naredba select). Iz

privremene tabele (duzine_excel) prvo selektiramo polja Sifra_naselja, Godina, i

Sifra_stac_tran. Zatim iz tabele Tip_plovila selektiramo polje Sifra_plovila jer takovo

polje ne postoji u privremenoj tabeli pa podatke moramo povuãi iz dimenzijske

tabele, ostala polja potrebna za naðe skladiðte podataka, znaèi Sifra_duljine i

Page 34: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

33

Motorne_jahte (u drugom koraku je to polje Na_jedra, a u treãem Ostalo),

selektiramo ponovno iz privremene tabele (duzine_excel). Izvor podataka odreðujemo

naredbom from. Kako vrðimo punjenje naðeg skladiðta odreðenim redom moramo

staviti odreðene uvjete (nareba where).

Opisi uvjeta:

· Tip_plovila.Sifra_plovila=1 – kako u prvom koraku punimo podatke iz polja

Motorne_jahte, a one imaju ðifru plovila 1, to specificiramo ovim uvjetom. U

drugom koraku, za polje Na_jedra unosi se ðifra 2 a u treãem za polje Ostalo

unosi se ðifra 3.

· di_teritorijalni_ustroj.Sifra_naselja=duzine_excel.Sifra_naselja - želimo da

nam budu povuèeni iz privremene tabele samo oni podaci koji imaju ðifrunaselja koja se ujedno nalazi i dimenzijskoj tabeli za teritorijalni ustroj.

· Stac_tran.Sifra_stac_tran=duzine_excel.Sifra_stac_tran - želimo da nam

budu povuèeni iz privremene tabele samo oni podaci koji imaju ðifrunautièkog prometa (Sifra_stac_tran) koja se ujedno nalazi i dimenzijskoj tabeli

za nautièki promet.

· Duljina.Sifra_duljine=duzine_excel.Sifra_duljine - želimo da nam budu

povuèeni iz privremene tabele samo oni podaci koji imaju ðifru duljine

(Sifra_duljine) koja se ujedno nalazi i dimenzijskoj tabeli za duljine plovila.

Da zakljuèimo. Vidimo da se kroz tri koraka specificiraju podaci koji ãe biti

povuèeni iz privremene tabele te da kroz ta tri koraka specificiramo unos ðifre plovila

koju smo definirali prilikom dizajna skladiðta podataka. Konaèni rezultat je da smo,

gledajuãi privremenu tabelu, uspjeli stvoriti dodatnu dimenziju u skladiðtu podataka

(polje Tip_plovila) te podatke o broju plovila smjestiti u jedno polje (Broj_plovila), za

razliku od privremene tabele kada su bila tri (Motorne_jahte, Na_jedra, Ostalo).

Ovaj DTS paket želimo koristit i u buduãnosti te jedino trebamo unesti naredbu za

brisanje tabele koja predstavlja skladiðte podataka (drop table), a ostali dio SQL upita

ostavljamo kakav je. Rekli smo veã prije da ãe nam podaci u Excel fileu biti jedini

izvor, znaèi za naredne godine ãe se tamo smjeðtati, te nakon pokretanja paketa za

Page 35: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

34

ekstrakciju podataka pokrenut ãemo ponovno ovaj paket (naravno sa naredbom drop

table) kako bi imali ažurirano skladiðte podataka.

6.2.7. Punjenje ili unos podataka (engl. Load)

Teorija razlikuje tri vrste ETL programa za punjenje podataka13:

· programe za inicijalno punjenje

· programe za punjenje povijesnih podataka

· programe za inkrementalno punjenje

U naðem primjeru vidjeli smo da smo vrðili ekstrahiranje povijesnih podataka

te transformacijom napunili naðe skladiðte podataka. Inicijalno punjenje se vrði nad

transakcijskim bazama u kojima se nalaze "živi" podaci, znaèi oni koji se

permanentno slijevaju u transakcijske baze podataka obavljanjem poslovnih

aktivnosti. Inkrementalno punjenje predstavlja periodièko punjenje skladiðta podataka

(dnevno, tjedno ili mjeseèno) a ono bi u naðem sluèaju bilo izvedivo kada bi

postojale transakcijske baze iz kojih bi vukli podatke, pa bi naðe pakete automatizirali

da se sami pokreãu periodièki na godiðnjoj razini.

6.3. Izgradnja OLAP kocke

Nakon ðto smo naðe skladiðte podataka napunili podacima vrijeme je da

krenemo na izgradnju OLAP kocke Nautièki turizam – Duljina plovila. OLAP kocka

ãe se izraditi u SQL Server-ovom alatu Analysis Manager koji je kao i Enterprise

Manager sastavni dio SQL Server 2000 softverskog paketa.

Kako ne bih sada opisivao cjelokupan postupak izgradnje kocke, primjerice

povezivanje Analysiy Managera sa serverom, pravljenje baze za kocku… naèin na

koji se to radi opisan je u knjizi Kartalovski A.; Šeãerovski S. "SQL Server 2000" –prijevod knjige Gunderloy M.; Jorden Joseph. L. "Mastering SQL Server" Beograd,

Mikroknjiga, 2001.. Ujedno i pokretanjem Analysis Managera možemo to proèitati u

13 Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Page 36: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

35

Concepts & Tutorijal, kao i pravljenje cjelokupne kocke pa se neãemo previðezadržavati na detaljima veã krenuti na prikaz postupaka.

slika 26. Izgled suèelja Analysis Managera

Znaèi, nakon ðto smo stvorili bazu gdje ãe biti smjeðtena naða kocka oznaèimo

Cubes (vidi sliku 26.) i kliknemo desnim klikom miða te odaberemo New Cube,

Wizard. Wizard ãe nas voditi kroz postupak i kako smo veã rekli postupak se nalazi

opisan u Concepts & Turorials (vidi sliku 26.) tako da nema potrebe isti prikazivati.

Bitno je reãi da prvo odabiremo mjeru za koju smo rekli da je to polje Broj_plovila a

dimenzije kreiramo sve kao Star Shema: A single dimension table (jedna od nekoliko

opcija u Wizardu).

Kada izraðujemo vremensku dimenziju (polje Godina) bitno je naglasiti da

iskljuèimo opciju Share this dimension with other cubes jer prilikom izrade ostalih pet

Page 37: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

36

kocaka imat ãemo vremensku dimenziju istog naziva pa da zabunom prilikom

izgradnje vremenske dimenzije za novu kocku ne bismo stavili vremensku dimenziju

neke veã postojeãe kocke.

6.3.1. Zvjezdasta shema (engl. Star shema)

Nakon ðto smo prateãi upute Concepts & Tutorial, napomene koje smo

spomenuli te dali naziv naðoj OLAP kocki, otvorit ãe nam se suèelje gdje ãemo vidjeti

naðu kocku prikazanu kao Star shemu (vidi sliku 27.).

slika 27. Star shema (Zvjezdasta shema)

Na slici 27. predstavljen je dimenzijski model u obliku Star sheme

(Zvjezdaste sheme), gdje je funkcionalno podruèje "srce" zvijezde a "krakovi"

predstavljaju dimenzije.

Page 38: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

37

Zvjezdasta shema je uobièajena shema pohranjivanja podataka u skladiðtu.

Naziv je dobila, naravno, prema svojem obliku. U srediðtu sheme se nalazi tzv.

èinjenièna tablica (fact table) koja sadrži podatke za analizu i kljuèeve za povezivanje

s tzv. dimenzijskim tablicama (dimension tables) u kojima su pojedine znaèajke

detaljno opisane i koje služe za kreiranje hijerarhija za prikaz. Èinjenièna tablica

najèeðãe se sastoji od viðe milijuna zapisa kraãe duljine, dok dimenzijske tablice

imaju manji broj zapisa, ali veã duljine (zbog znakovnih varijabli koje opisuju

pojedine znaèajke). Kombiniranjem tih tablica dobije se konaèna detaljna tablica iz

koje se kreiraju OLAP kocke ili se "napadaju" ad-hoc upitima14.

Vidimo da jedino vremenska dimenzija nema dimenzijsku tabelu a to je iz

razloga ðto se ta dimenzija kreira direktno iz skladiðta na naèin prethodno opisan u

tekstu.

6.3.2. Pahuljasta shema (engl. Snowflake shema)

Osim zvjezdaste sheme prilikom kreiranja OLAP kocki èeste su i Snowflake

sheme (Pahuljaste sheme). Za razliku od zvjezdaste sheme koja podrazumijeva da je

svaka dimenzija za analizu u potpunosti denormalizirana, kod pahuljaste sheme to nije

sluèaj.

U naðem primjeru da su podaci prikupljani na razini marine, teritorijalni ustroj

bi imao èetiri nivoa: županija, opãina, naselje i marina. U tom sluèaju èinjenièna

tabela bi sadržavala podatke o ðiframa marine koji bi bili povezani sa dimenzijskom

tabelom koja bi sadržavala ðifru i naziv marine te ðifru naselja koja je poveznica sa

dimenzijskom tabelom teritorijalni ustroj.

Kako izgleda pahuljasta shema možemo vidjeti na slici 28.

14 http://www.skladistenje.com/

Page 39: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

38

slika 28. Snowflake shema (Pahuljasta shema)

Izrada naðe OLAP kocke je privedena kraju. Kocku je potrebno procesirati

(naredba Process) i spremna je za koriðtenje.

Page 40: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

39

7. ANALIZA PODATAKA

Prilikom analize podataka razlikujemo dvije metode:

· metoda raslojavanja i presijecanja (engl. Slice and Dice Method)

· te metoda rotacije ili pivotiranja (engl. Pivoting)

Zapravo toènije bi bilo reãi da ovdje govorimo o karakteristikama OLAP

sustava koje proizlaze iz njegovog viðedimenzionalnog ustroja tj. o razlièitimmoguãnostima pogleda na podatke.

7.1. Raslojavanje i presijecanje (engl. Slice and Dice Method)

Viðedimenzijski skupovi podataka mogu se analizirati horizontalno

(raslojavanje) i vertikalno (presijecanje). Kvaliteta ove metode se ogleda u tome ðto je

ona korisnicima intuitivno lako shvatljiva, te ðto je suvremeni OLAP alati obavljaju

vrlo brzo.

U naðem primjeru podatke možemo raslojiti primjerice prema duljini plovila a

zatim presijecati prema vremenu, teritorijalnom ustroju, nautièkom prometu i tipu

plovila.

slika 29. Raslojavanje prema duljini plovila, presijecanje prema vremenu

Page 41: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

40

Možemo takoðer izvrðiti viðe razina raslojavanja i presijecanja po razlièitimdimenzijama, i to na naèin da samo povuèemo dimenziju iz gornjeg dijela ekrana te je

spustimo na željeno mjesto (vidi sliku 30.).

slika 30. Raslojavanje prema duljini plovila i tipu plovila, presijecanje prema

vremenu i nautièkom prometu

7.2. Rotacija ili pivotiranje (engl. Pivoting)

OLAP kocka se može na razlièite naèine rotirati oko svoje osi. Ono ðto su bili

reci možemo prikazati kao stupce i obrnuto. Što je viðe dimenzija to je i viðemoguãnosti kojima se mogu prikazati podaci. Ako se neka dimenzija sastoji od viðenivoa ðto je kod nas primjerice teritorijalni ustroj (županije, opãine, naselja)

moguãnosti analize i prikaza podataka rastu. Spuðtanje kroz te dimenzijske nivoe

naziva se detaljiziranje (engl. Drill down), a uzdizanje agregiranje (engl. Drill up).

Page 42: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

41

Na slici 31. možemo vidjeti kako su podaci rotirani u odnosu na podatke koji

su prikazani slikom 29. Sada su podaci raslojeni prema vremenu a presijecanje je

izvrðeno prema duljini plovila.

slika 31. Raslojavanje prema vremenu, presijecanje prema duljini plovila –pivotiranje ili rotacija u odnosu na podatke prikazane slikom 29.

Što se tièe detaljiziranja (engl. Drill down) prikazat ãemo u narednim slikama

kako izgleda pogled na podatke kroz nivoe dimenzije teritorijalnog ustroja. Podatke

ãemo raslojiti prema tipu plovila a presijecanje ãemo izvrðiti prema teritorijalnom

ustroju (vidi sliku 32.).

slika 32. Raslojavanje prema tipu plovila, presijecanje prema teritorijalnom ustroju -

najviða razina (županija)

Page 43: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

42

Jednostavnim klikom miða na pluseve (+) pokraj naziva svake županije

korisnik izvrðava detaljiziranje (engl. Drill down) te je na slici 33. prikazano kako

smo "probuðili" županiju Šibensko-kninsku kako bi nam se prikazale opãine unutar te

županije, a nakon toga smo joð "probuðili" opãinu Murter te dobili njezina naselja

Murter i Kornate.

slika 33. Drill down kroz dimenziju teritorijalni ustroj

Page 44: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

43

8. ZAKLJUÈAK

Kroz ovaj rad se pokuðalo približiti intrigantno podruèje Business Intelligence

- a, odnosno podruèje poslovne inteligencije. Izrada OLAP sustava za nautièki

turizam koja je prikazana u ovom rada ispunila je oèekivanja od ovog sustava i

opravdala sve njegove troðkove. Omoguãen je uvid u stanje tržiðta nautièkog turizma

kroz devet godina pomoãu ðest OLAP kocki i time je prikazana analitièka sposobnost

koju pruža ovakav sustav. Kako do zakljuèenja ovog diplomskog, sustavu nije

prikljuèen front-end klijent koji omoguãuje korisniku rad sa sustavom, ðto ukljuèuje

veãe moguãnost vizualizacije i analize podataka, ta zavrðna faza nije prikazana. No

unatoè tome, dobili smo dobar uvid u nastajanje i rad sustava, te veãinu njegovih

moguãnosti kako bi potencijalnom korisniku prezentirali jasan dokaz zaðto se danaðnji

poslovni svijet okreãe prema inteligentnim rjeðenjima.

Page 45: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

44

9. KORIŠTENI IZVORI

Panian, Þ.; Klepac G. "Poslovna inteligencija", Masmedia, Zagreb, 2003.

Varga, M. "Baze podataka: Konceptualno, logièko i fizièko modeliranje podataka",

DRIP, Zagreb, 1994.

Kartalovski A.; Šeãerovski S. "SQL Server 2000" – prijevod knjige Gunderloy M.;

Jorden Joseph. L. "Mastering SQL Server", Mikroknjiga, Beograd, 2001.

http://www.skladistenje.com/ - prvi hrvatski nezavisni i nekomercijalni web centar za

poslovnu inteligeciju i skladiðtenje podataka

http://www.iztzg.hr/ - službeno web mjesto Instituta za turizam na kojem možete

pristupiti Sustavu poslovne inteligencije za turizam (BIST)

http://www.dzs.hr/ - službeno web mjesto Državnog zavoda za statistiku RH

Page 46: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

45

10. PRILOG

Page 47: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

46

Page 48: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

47

Page 49: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

48

Page 50: BUSINESS INTELLIGENCE U NAUTIČKOM TURIZMU

49