
Transcription
COREMetadata, citation and similar papers at core.ac.ukProvided by TheseusVille PorkkaASIAKKAAN DATAN MALLINNUS JA SEN ANALYSOINTIBUSINESS INTELLIGENCE -JÄRJESTELMÄSSÄTietojenkäsittelyn koulutusohjelma2017
ASIAKKAAN DATAN MALLINNUS JA SEN ANALYSOINTI BUSINESSINTELLIGENCE -JÄRJESTELMÄSSÄPorkka, VilleSatakunnan ammattikorkeakouluTietojenkäsittelyn koulutusohjelmaToukokuu 2017Ohjaaja: Nieminen, HansSivumäärä: 34Liitteitä: 1Asiasanat: business intelligence, tietokannat, tietovarastot, SQL, analyysiOpinnäytetyön tavoitteena oli toteuttaa asiakkaalle Business Intelligence -järjestelmääkäyttäen ympäristö kyselytutkimuksella kerätyn datan analysointia varten. Asiakkaananalyyseille asettamien vaatimusten vuoksi aiemmin kerätty data oli muutettava Business Intelligence -järjestelmän, ja erityisesti tietovarastoinnin kannalta optimaaliseen,moniulotteiseen muotoon. Asiakkaalle luotiin uusi relaatiotietokanta moniulotteisessamallinnuksessa yleisesti käytetyn tähtimallin pohjalta. Asiakkaan alkuperäinen datasiirrettiin luotuun relaatiotietokantaan. Toteutukseen kuului myös valitun Business Intelligence -järjestelmän asentaminen, ja analyysien luominen siihen liitetyn uuden tietokannan pohjalta.Toteutuksessa käytettäviksi ohjelmistoiksi valikoituivat Pentaho Community EditionBusiness Intelligence -järjestelmäksi ja MySQL tietokannan hallintajärjestelmäksi.Opinnäytetyön teoreettisessa osuudessa käsiteltiin Business Intelligence -käsitteen sisältöä erityisesti toteutuksessa käytettävien Business Intelligencen osa-alueiden jakomponenttien osalta.Opinnäytetyön valmistuttua asiakkaalla on käytössään tietokanta ja Business Intelligence -järjestelmä, sekä sen sisältämät työkalut aiemman ja myös mahdollisesti uudendatan analysointiin ja niistä raportointiin.
MODELING OF CLIENT’S DATA AND ANALYZING IT IN A BUSINESSINTELLIGENCE SYSTEMPorkka, VilleSatakunnan ammattikorkeakoulu, Satakunta University of Applied SciencesDegree Programme in Business Information TechnologyMay 2017Supervisor: Nieminen, HansNumber of pages: 34Appendices: 1Keywords: Business Intelligence, Database, Data Warehouse, SQL, Data AnalysisThe purpose of this thesis was to implement a Business Intelligence system for theclient to enable analysis of the survey data. Due to the client's requirements for theanalyzes, the previously collected data had to be re-modeled using dimensional modeloptimized for Data Warehouse / Business Intelligence environment. A new databasewas created for a client using most widely used dimensional model, star schema. Theclient’s old data was migrated to the created database. The implementation also included the installation of the selected Business Intelligence system and data analysisfrom the connected database.The programs used in this thesis were Pentaho Community Edition as a Business Intelligence software and MySQL as a database management system.The theory section of the thesis focused on the concept of Business Intelligence, particularly on the parts and components used in the implementation.After the implementation is completed, the client has a database and a functional Business Intelligence system including the tools for data analysis and reporting.
SISÄLLYS1 JOHDANTO . 52 ASIAKKAAN VIITEKEHYS . 62.1 Asiakkaalta saatu data . 72.2 Analyysien kriteerit . 93 BUSINESS INTELLIGENCE . 103.13.2Tietovarasto. 11OLAP . 133.3 Moniulotteinen mallinnus . 134 MONIULOTTEISEN MALLINNUKSEN TOTEUTUS . 164.1 Mallin suunnittelu . 164.2 Mallin toteutus tietokannassa . 195 PENTAHO . 205.1Pentahon komponentit . 215.1.1 Business Analytics Platform. 225.1.2 Pentaho Analysis Services (Mondrian) . 225.1.3 Pentaho Data Integration (Kettle) . 236 TOTEUTUS PENTAHOSSA . 236.1 Pentahon asennus . 236.2 Käyttöliittymä . 246.3 Datan tuonti . 246.4 Toteutettu toiminnallisuus . 277 LOPPUSANAT . 307.1 Tavoitteiden toteutuminen . 317.2 Parannus- ja kehitysehdotuksia . 31LÄHTEET . 33LIITTEET
51 JOHDANTOOpinnäytetyön asiakkaana on TTY:ssä turvallisuuskulttuuriin liittyvässä tutkimuksessa päätutkijana toiminut Pasi Porkka. Tutkimuksessa tehtiin asiakasyrityksiin turvallisuuskulttuuriin liittyvä kysely, jonka avulla saatu data on tallennettu relaatiotietokantaan. Kyselydata on mallinnettu tapahtumakeskeisellä tietomallilla. Tämän opinnäytetyön tarkoituksena on asiakkaan kyselytutkimuksella saaman datan jatkojalostaminen ja monipuolisempien analyysien mahdollistaminen.Asiakas on asettanut analyyseille vaatimuksia, jotka liittyvät erilaisten ryhmien välisiin vertailuihin. Kyselydatan tietomalli ei sellaisenaan sovellu vertailuihin, sillä tapahtumakeskeisessä tietomallissa vertailuissa käytettävät attribuutit ovat jakautuneetuseisiin tietokannan tauluihin, jolloin ryhmittely vaatii aina useita taulujen välisiä liitoksia. Moniulotteisten analyysien toteuttamiseksi käytetään liiketoimintatiedon hallintaan (BI, Business Intelligence) liittyvää tosiaikaista tiedonjalostusta, OLAP:ia (Online analytical processing). Tosiaikainen tiedonjalostus perustuu datan moniulotteisuuteen, joten asiakkaan data on uudelleenmallinnettava. Moniulotteisessa mallinnuksessa varsinaiset tietoalkiot ovat faktatauluissa (fact tables) ja ryhmittelyissä käytettävät attribuutit ulottuvuustauluissa (dimension tables). Näin tarvittavien taulujen välisten liitosten määrä pienenee ja analyysi nopeutuu merkittävästi.Asiakkaan datan ja analyysien vaatimusten pohjalta luotiin uusi tietokanta moniulotteisessa mallinnuksessa käytettävän tähtimallin mukaisesti ja asiakkaan data siirrettiinuuteen tietokantaan. Työssä käytettävänä tietokannan hallintajärjestelmänä toimiiMySQL. Toteutuksessa käytettäväksi BI-järjestelmäksi valittiin Pentaho CommunityEdition, joka tarjoaa kaikki tarvittavat työkalut datan kokonaisvaltaiseen käsittelyyn.Toteutukseen kuuluvat myös Pentahon asennus ja käyttöönotto, sekä datan analysoinnin mahdollistaminen.Työn teoreettisen osan tärkein yksittäinen lähde on pitkän uran tietovarastojen ja Business Intelligencen parissa tehneen Ralph Kimballin kirja The Data Warehouse Toolkit. Myös tietovarastoinnin (paikallisvaraston) toteutus vastaa pääpiirteittäin Kimballin lähestymistapaa tietovarastointiin ja Business Intelligenceen.
6Toisessa kappaleessa kerrotaan tarkemmin asiakkaan viitekehyksestä ja työn tavoitteista ja toiveista. Kolmannessa kappaleessa kerrotaan Business Intelligencen ja erityisesti tämän työn kannalta tärkeiden käsitteiden teoriasta. Neljäs kappale keskittyy datan moniulotteisen mallinnuksen toteuttamiseen, sekä tietokannan fyysiseen toteutukseen. Viidennessä kappaleessa kerrotaan tarkemmin Pentahosta ja sen tärkeimmistäkomponenteista. Kuudes kappale sisältää itse työn toteutuksen Pentahossa. Viimeisessä kappaleessa arvioidaan tavoitteiden toteutumista ja mahdollisia parannus- ja lisäysehdotuksia.2 ASIAKKAAN VIITEKEHYSTässä kappaleessa esitellään lyhyesti asiakkaan tavoitteet ja toiveet työn kannalta. Erityistä huomiota kiinnitetään asiakkaalta saatuun dataan, jota on tarkoitus analysoidatässä työssä kehitetyillä menetelmillä. Data on kerätty Työsuojelurahaston rahoittamassa PRO-Turva -projektissa. Projektissa tehtiin turvallisuuteen liittyvä kysely, johon vastasi 10 yritystä Harjavallan teollisuuspuistosta ja 4 energia-alan yritystä. Kyselyyn vastasi kaikista yrityksistä yhteensä 565 vastaajaa. (Porkka 2012.)PRO-Turva -projektissa määriteltiin organisaation turvallisuuskulttuuriin liittyviä piirteitä. Tutkittavia piirteitä valikoitui 17 kappaletta ja ne luokiteltiin hierarkkisesti kahdeksaan alaryhmään ja kahteen yläryhmään. Piirteiden tutkimista varten tehtiin kysely,jossa oli 51 väittämää. Piirteiden ja niihin liittyvien väittämien muodostamaa kokonaisuutta kutsuttiin ontologiaksi. Kukin vastaaja arvioi jokaisen väittämän nykytilan, elimiten koki väittämän esittämän asian olevan yrityksessä vastaushetkellä. Vastaaja arvioi myös tavoitetilan, eli mihin toivoi väittämän tulevaisuudessa muuttuvan. Vastaukset tallennettiin tietokantaan numeerisessa muodossa. Tavoitteen ja nykytilan välinenerotus kertoo muutostoiveen suuruuden, eli luovan jännitteen (Senge 1990). Luovajännite laskettiin tavoite- ja nykytilan numeeristen arvojen erotuksena. Jokaista väittä-
7mää kohti on yhden vastaajan datassa siis kolme numeerista arvoa. (Porkka henkilökohtainen tiedonanto 14.2.2017). Koska vastaajia oli 565, kertyi vastauksista data-alkioita 565 * 51 * 3 86 445.Tutkimuskohteena oleviin 17 piirteiseen liittyi 2-5 väittämää, joiden avulla laskettiinmyös piirteille nykytilan, tavoitetilan ja luovan jännitteen numeeriset arvot. Piirteisiinliittyviä data-alkioita kertyi 565 * 3 * 17 28 815. Lisäksi piirteiden luokittelusta saatiin 565 * 3 * (8 2) 16 950 data-alkiota. Kokonaisuudessaan kyselyn avulla tuotettiin132 210 data-alkiota.Varsinaisen kyselydatan lisäksi vastaajilta kerättiin demografista dataa, kuten sukupuoli, ikä, työkokemus, asema yrityksessä, osasto, työntekijä / esimies, hallinto / tuotanto, jne. Tämän työn tavoitteena on toteuttaa asiakkaan toivomat uudet analyysit,jotka pohjautuvat kyselyllä kerättyyn dataan. Analyysien tavoitteena on mahdollistaademografiseen dataan perustuvat ryhmien vertailut. Analyysit edellyttävät datan uudelleen mallinnusta moniulotteiseksi ja sen hyödyntämistä BI-järjestelmässä.2.1 Asiakkaalta saatu dataKyselyillä saatu data on talletettu MySQL-relaatiotietokantaan. Tietokanta koostuu 21taulusta, jotka liittyivät toisiinsa viiteavaimilla. Tiedon mallinnus on toteutettu siten,että kunkin vastaajan demografinen data, arviot väittämistä, sekä piirteiden lasketutarvot muodostavat kokonaisuuden. Mallinnuksen tarkoituksena on yhden vastaajankyselyyn liittyvien arvojen tehokas tallennus. Mallinnus on täten tapahtumakeskeinen(transactional).Kuvassa 1 on esitetty yksinkertaistettu malli tietokannan rakenteesta. Esiteltäviin tauluihin on valittu vain tärkeimmät viiteattribuutit sekä muutamia kuvaavia attribuutteja.
8Kuva 1. Yksinkertaistettu malli asiakkaan kyselydataa sisältävästä tietokannastaTässä työssä käsiteltävä turvallisuusdata oli asiakkaan tietokannassa vain yksi useistaontologioista, tästä syystä myös ontologialla on oma tunnisteensa (Id ontologia). Seuraavassa lyhyet kuvaukset tietokannan oleellisista tauluista.Projektit-taulu sisältää projektin yleistä tietoa. Vastaajan organisaatioon liittyvä tietooli omassa taulussaan, jota ei ole otettu tähän mukaan. Asiakkaan projekteihin saattoiliittyä useaan eri ontologiaan vastaaminen, joten myös ontologia-taulun Id ontologiaon viiteavain.Vastaus-kerrat-taulu mahdollistaa saman henkilön usean vastaamisen samaan ontologiaan. Yhdestä vastauskerrasta käytetään termiä evaluointi, jonka tunnus on Id evaluointi. Usean vastaamiskerran tarjoaminen mahdollistaa pitkittäistutkimuksessa saman henkilön eri vastauskertojen vertailun.Vastaajat-taulu sisältää vastaajan perustiedot, eli henkilökohtaisen demografisen datan. Tauluun viitataan Id osallistuja avaimella.
9Väittämät-taulussa esitetään väittämät.Luokittelu-taulussa on piirteet sekä ryhmä ja pääryhmä, johon piirre sisältyy.Ontologia-taulu kokoaa yhteen ontologian. Siinä yhdistetään ontologian väittämätpiirteisiin. Sama väittämä voi esiintyä useassa eri ontologiassa.Vastaukset-tauluun on talletettu vastaajan väittämiin antamat arvot. Koska vastaajallaon mahdollisuus vastata samaan kyselyyn useammin kuin kerran ja koska sama väittämä voi esiintyä toisessa ontologiassa, johon myös on vastattu, sidotaan vastaus myösevaluointikertaan viiteattribuutilla Id evaluointi. Saman viiteattribuutin kautta päästään myös vastaajan tietoihin.Piirteet-taulu sisältää piirteille lasketut vastaajakohtaiset arvot. Ulkoisella laskennallaon saatu väittämien arvoista piirrekohtaiset nykytila, tavoitetila ja luovan jännitteenarvot.2.2Analyysien kriteeritPRO-Turva –projektissa analyysien pääpaino oli yrityskohtaisissa kokonaistuloksissa.Yrityskohtaisissa raporteissa esitettiin muutamia ryhmäkohtaisia vertailuja. Esimerkiksi tuotannon työntekijöiden ja esimiesten vertailu toi esille selkeitä näkemyseroja,jotka olivat merkittäviä turvallisuuden kannalta. (Porkka henkilökohtainen tiedonanto14.2.2017.) Yhteen vastaajaan keskittyvä tiedonmallinnus ei tue ryhmien välisiä monipuolisia vertailuja helposti, sillä vertailujen toteuttaminen vaatii useita taulujen välisiä liitoksia. Tässä työssä toteutettavat analyysit perustuvat erilaisten ryhmien välisiinvertailuihin yli yritysten rajojen.Asiakkaan toiveena on useiden samanaikaisten ryhmittelyjen vertailu, esimerkiksikahden eri yrityksen naispuolisten toimihenkilöiden käsitysten vertailu. Koska mahdollisten ryhmien kombinaatioiden määrä on suuri, esitetään ainoastaan asiakkaan ryh-
10mittelykriteerit. Ryhmittelykriteerit määrittelevät moniulotteisen tietomallin dimensiotaulut. Toteutusalustaksi valittu Pentaho mahdollistaa ryhmittelyjen monipuolisenvalinnan dimensiotaulujen avulla.Osalla ryhmittelyyn käytettävillä attribuuteilla on hierarkia, jonka tulee esiintyä mallinnuksessa. Ryhmittelyn tulee olla mahdollista seuraavien attribuuttien kohdalla:1. Henkilö: sukupuoli, koulutus, kokemus2. Piirre: piirre luokka pääluokka3. Evaluointi: projekti organisaatio maaAnalyysit tehdään sekä piirteiden että väittämien osalta. Molempien kohdalla tuleekaikkien ryhmittelyattribuuttien olla käytettävissä. Analyysit on voitava tehdä nykytilan, tavoitetilan ja luovan jännitteen osalta. Kunkin vastaajan kohdalla on laskettavasekä piirteiden että väittämien sijaluvut (ranks) lajittelemalla vastaajan antamat arvotnousevaan suuruusjärjestykseen. Sijaluvut on tallennettava tietokantaan ja ryhmittelynon oltava mahdollista myös sijalukujen kohdalla.3 BUSINESS INTELLIGENCEBusiness Intelligence (liiketoimintatiedon hallinta) on käsitteenä laaja kokonaisuus,joka sisältää prosessit, teknologian ja muut tarvittavat työkalut yrityksen keräämän datan hyödyntämiseksi liiketoiminnassa (Loshin 2003, 6). Aiemmin kerrottujen asiakkaan analyyseille asettamien kriteerien vuoksi työn toteutuksessa syntyi tarve moniulotteisen ja historiallisen datan analysointiin sekä raportointiin kykenevälle ohjelmistolle. BI / Data Warehouse -pohjaiset järjestelmät vastasivat tähän tarpeeseen täydellisesti. Kuvassa 2 on esitetty teoreettisen BI-järjestelmän sisältöä ja toiminnallisuutta.
11Kuva 2. BI-järjestelmän toiminnallisuus (Krmac 2011)Tietoa kerätään ETL-prosessin (Extract, transform, load) avulla eri lähteistä (DataSources) kuten SQL-tietokannoista tai yksittäisistä tiedostoista. ETL-prosessissa tietopuhdistetaan muun muassa korjaamalla mahdolliset kirjoitusvirheet ja päällekkäisyydet, sekä yhtenäistämällä nimeämiskäytäntöjä ja tietotyyppejä. ETL-prosessin lopussatieto ladataan puhdistettuna tietovarastoon (Data Warehouse) (Kimball & Ross 2013,19). Tiedon hyödyntäminen (analysointi, visualisointi, tiedonlouhinta, raportointiyms.) tapahtuu prosessin lopussa tietovaraston dataa käyttäen.3.1 TietovarastoYksi Business Intelligencen keskeisimmistä osista on tietovarasto (Data Warehouse).Tietovarastojen kehitys ja käyttöönotto tapahtuivat 1980-luvun loppupuolella ja laajemmin 1990-luvulla yritysten huomatessa strategisen tiedon merkityksen liiketoiminnassa. Perinteiset tosiaikaiseen tapahtumakäsittelyyn (Online transaction processing,
12OLTP) perustuvat järjestelmät tukevat yritysten perustoimintaa tallentamalla tapahtumakeskeistä ja toiminnallista tietoa, kuten tilauksen tai myyntitapahtuman tiedot, yrityksen operatiivisiin tietokantoihin. Tietovaraston tehtävänä on jalostaa ja koota operatiivisten tietokantojen suuria datamääriä kysely-ystävällisempään ja analyyttisempaan muotoon. Taulukossa 1 esitetään operatiivisen järjestelmän ja tietovarastojärjestelmän oleellisimmat erot. (Ponniah 2010, 13-14.)Taulukko 1. Operatiivisen järjestelmän ja tietovarastojärjestelmän vertailu (Ponniah2010, 13)OPERATIIVINENTIETOVARASTOTiedon sisältöNykyistä tietoaHistoriallista, koottua tietoaTiedon rakenneTapahtumapohjaistaOptimoitua, moniulotteistaHakutiheysJatkuvaa tai hyvin suurtaKeskivertoa tai harvaaFunktionaalisuusLukeminen, päivitys, poistaminenLukeminenKäyttöEnnakoitavaa, toistuvaaAsiakohtaista, satunnaista, heurististaVasteaikaErittäin nopeaKyselyistä riippuen hitaampaaKäyttäjätPaljon käyttäjiäSuhteellisen vähän käyttäjiäTietovarastojen isänäkin pidetty Bill Inmon määrittelee tietovarastot aihekeskeisiksi(subject oriented), koostetuiksi (integrated), pysyviksi (nonvolatile) ja aikariippuvaisiksi (time-variant) kokoelmiksi dataa, jota käytetään liikkeenjohdon päätösten tukena.Aihekeskeisyydellä tarkoitetaan tiedon keräämistä ja analysointia liiketoiminnastariippuen tietyltä osa-alueelta, kuten myynnistä, tuotteista tai asiakkaista. Koosteisuustarkoittaa tiedon keräämistä eri lähteistä ja tiedon yhtenäistämistä tietovarastoon. Pysyvyys tarkoittaa historiallisen tiedon säilyvyyttä ja vakautta. Tietovarastossa olevadata on siis vain luettavissa ja sitä ei voi muuttaa. Aikariippuvuus tarkoittaa kaikentietovaraston sisältämän tiedon olevan kiinnitettynä tiettyyn ajanhetkeen. Aikariippuvuus mahdollistaa tietovaraston historiallisuuden, joka on aikahorisontista riippuenyleensä viidestä kymmeneen vuotta. (Inmon 2002, 31-35.)Tietovarastot koostuvat usein pienemmistä paikallisvarastoista (data mart). Paikallisvarastot on suunnattu pienemmälle käyttäjäryhmälle, kuten yrityksen osastolle. Ne ku-
13vaavat yleensä yksittäistä liiketoimintaprosessia ja tarjoavat siten tietovarastoon verrattuna yksityiskohtaisempaa ja tarkempaa tietoa. Tietovarastoa pienemmän kokonsavuoksi paikallisvarastot ovat halvempia ja helpompia toteuttaa, ja ne mahdollistavatyksinkertaisemmat kyselyt ja nopeammat vastausajat. Paikallisvarastot rakennetaanmoniulotteisiksi. (Ponniah 2010, 30.)3.2 OLAPOLAP (Online analytical processing), suomennettuna ”tosiaikainen tiedonjalostus”,on muiden Business Intelligenceen liittyvien käsitteiden tavoin määritelty usealla eritavalla kirjoittajasta ja ajankohdasta riippuen.OLAP-termin vuonna 1993 lanseerannut, myös relaatiomallin luojana tunnettu EdgarF. Codd määrittelee OLAP:in dynaamiseksi analyysiksi, jota tarvitaan luomaan, käsittelemään, elävöittämään ja yhdistämään tietoa yrityksen tietovarastoista. Siihen sisältyy mahdollisuus huomata uudet tai odottamattomat yhteydet muuttujien välillä, mahdollisuus tunnistaa tarvittavat parametrit suurien tietomäärien hallitsemiseen, mahdollisuus luoda rajoittamaton määrä dimensioita, sekä mahdollisuus määritellä dimensioiden väliset ehdot ja lausekkeet. (Codd, Codd & Salley 1993, 8-9.) Vuosituhannenlopussa useiden suurten ohjelmistoalan yritysten perustama OLAP Council taas määrittelee OLAP:in ohjelmistoiksi, jotka mahdollistavat analyytikoiden ja johtajien saavan nopean, yhtenäisen, interaktiivisen ja laajan näkymän tietoon, joka on muutetturaa’asta datasta käyttäjän ymmärtämään, yrityksen oikeaa toimintaa kuvaavaan, moniulotteiseen muotoon. (Olap Council, 1997.) Yksinkertaistettuna OLAP tarkoittaa lähes kaikista BI-järjestelmistä löytyviä esityskerroksen työkaluja, joilla esitetään tietovarastosta saatua dataa moniulotteisena.3.3 Moniulotteinen mallinnusMoniulotteinen mallinnus (dimensional modeling) on tietovarastoissa yleisesti käytettävä tiedon mallinnustapa. Sen avulla tietokannoista saadaan yksinkertaisempia, suorituskyvyltään tehokkaampia ja helpommin muokattavia (Kimball & Ross 2013, 7).
14Moniulotteinen mallinnus liittyy läheisesti useisiin Business Intelligencen osiin, erityisesti tietovarastoihin ja sen seurauksena OLAPiin.Yleisimmät datan moniulotteisessa mallinnuksessa käytettävät tietomallit ovat tähtimalli (star schema) ja tähtimallin normalisoidumpi versio, lumihiutalemalli (snowflake schema). Moniulotteiset tietomallit koostuvat faktoista (fact) ja dimensioista (dimension). Faktat ovat lähes aina laskettavassa, numeerisessa muodossa olevia arvoja,ja dimensiot ovat usein hierarkkisia ryhmiä, jotka määrittelevät millä tavoin faktojavoidaan analysoida.Tähtimalli (Star schema) on yleisin ja yksinkertaisin moniulotteisessa mallinnuksessakäytetty tietomalli. Tähtimalli koostuu yhdestä tai useammasta faktataulusta ja se viittaa määrittelemättömään määrään dimensiotauluja. Tähtimalli saa nimensä tähteämuistuttavasta rakenteestaan, jossa dimensiotaulut ovat tähden sakaroita. Kuvassa 3on yksinkertainen esimerkki tähtimallista, jossa faktataulu Sales Fact on keskellä jadimensiotaulut reunoilla.Faktataulujen tiedot ovat tapahtumatyyppisiä, ja jokainen rivi vastaa yhtä tapahtumaa,kuten myyntitapahtumaa. Jokaisen faktataulun rivin on oltava yhtä yksityiskohtainen(grain), esimerkiksi yksi rivi jokaista myyntitapahtumaa kohden. Faktataulujen arvotovat lähes aina numeerisia, ja niitä voidaan laskea yhteen erilaisilla dimensioista saaduilla tasoilla. Myös keskiarvoja ja lukumääriä voidaan laskea valmiiksi. Faktataulujen tulisi olla mahdollisimman niukkoja (sparse). Niukkuudesta huolimatta faktataulutvievät yleensä jopa 90% kaikesta tähtimallin käyttämästä tilasta. Kaikilla faktatauluillaon kaksi tai useampi viiteavain, joilla viitataan dimensiotaulujen perusavaimiin. Esimerkiksi kuvassa 3 Sales-faktataulun viiteavain Product ID on Product-dimensiotaulun perusavain. Viiteavainten avulla turvataan tietokannan viite-eheys. Faktataulun perusavain on yleensä yhdistelmäavain (composite key), joka muodostuu viiteavaintenjoukosta. (Kimball & Ross 2013, 10-12.)Dimensiotaulut ovat faktataulujen pohja, joissa säilytetään kaikki faktataulujen tapahtumat määrittelevät attribuutit. Dimensiotaulujen attribuutit määrittelevät millä tavoinfaktataulujen tapahtumia voidaan ryhmitellä ja analysoida. Dimensiotaulut siis käytännössä määrittelevät koko BI-järjestelmän tehokkuuden. Dimensiotaulut ovat usein
15järjestetty hierarkkisesti, jolloin tiedon analysointi on helpompaa ja suorituskyky parempi. (Kimball & Ross 2013, 13-15.)Product DimensionLocation DimensionPKLocation IDCityCountrySales FactPK,FK1PK,FK2PK,FK3PK,FK4Customer IDSales DollarsSales UnitsNameAddressCityProduct IDProduct nameProduct categoryColorProduct IDDate IDCustomer IDLocation IDCustomer DimensionPKPKDate DimensionPKDate IDYearQuarterMonthWeekDayKuva 3. Esimerkki yksinkertaisesta tähtimallistaMoniulotteisuuden kuvaamiseen käytetään myös OLAPiin liittyvää käsitettä tietokuutio (data cube, OLAP cube), joka esittää tietomallin kuutiomaisessa muodossa. Tietokuutiot ovat usein relaatiopohjaisen tähtimallin pohjalta rakennettuja (ROLAP, relational online analytical processing), mutta ne voivat myös kuvata itsenäisiä, moniulotteisia tietokantoja (MOLAP, multidimensional online analytical processing). Kuvassa4 on vierekkäin tähtimalli ja tietokuutio.Kuva 4. Tähtimalli verrattuna tietokuutioon (Kimball & Ross 2013, 9)
16Kun data on ladattu OLAP-kuutioon, se säilötään ja indeksoidaan käyttäen moniulotteisen datan käsittelyyn optimoituja formaatteja ja tekniikoita. Kuution perusdata saadaan faktatauluista, jonka lisäksi OLAP-järjestelmät voivat laskea ja säilöä koosteita(aggregate) valmiiksi nopeuttaen kyselyaikoja. (Kimball & Ross 2013, 8-9.) OLAPjärjestelmä sisältää kuution käsittelyyn ja sen sisältämän datan esittämiseen käytettäviäoperaatioita, joista yleisimmät ovat siirtyminen ylemmälle tasolle (roll-up), porautuminen yksityiskohtaisempaan tietoon (drill down), kuution määritellyn osan, viipaleen, tarkastelu (slicing), ja osakuution tekeminen määriteltyjen dimensioiden arvojenmukaan (dicing). (Ponniah 2010, 390-392.)4 MONIULOTTEISEN MALLINNUKSEN TOTEUTUSAsiakkaan kappaleessa 2.2 analyyseille asettamien kriteereiden vuoksi kyselyillä kerätty data on muutettava moniulotteiseen muotoon. Moniulotteisen mallinnuksen toteuttamiseksi luodaan uusi relaatiotietokanta käyttäen moniulotteista tietomallia, tähtimallia. Tietokannan hallintajärjestelmänä käytetään Oraclen MySQL Community ohjelmistoa. Tietokannan luomisen jälkeen asiakkaan data siirretään uuteen tietokantaan.4.1 Mallin suunnitteluMoniulotteisen mallinnuksen toteuttamisessa käytetään Ralph Kimballin (Kimball &Ross 2013, 38) suunnittelemaa neliosaista prosessia:1. Valitaan liiketoiminnallinen prosessi, jonka päälle malli rakentuu2. Määritetään tietokannan yksityiskohtaisuuden taso (grain). Se ilmaisee faktataulun yksityiskohtaisuuden.3. Määritetään dimensiot karkeuden pohjalta.4. Määritetään faktat. Faktat vastaavat kysymykseen ”Mitä prosessissa mitataan?”. Faktojen tulee vastata aiemmin määriteltyä karkeutta.
17Liiketoiminnallinen prosessi on kappaleen 2 mukaisesti asiakkaan yrityksille suuntaama kyselytutkimus. Tietokannan yksityiskohtaisuuden tasot ovat vastaukset yksittäiseen väittämään, sekä ryhmät ennalta määriteltyjen vastausten joukkojen, kompetenssien, mukaisesti. Luodaan faktataulut fact INPUTS, joka sisältää väittämille annetut arvot sekä fact RESULTS, johon on laskettu kompetenssien arvot. Dimensiotmääritellään asiakkaalta saadun datan, sekä luvussa 2.2 määriteltyjen ryhmittelyidenja attribuuttien hierarkioiden mukaisesti. Luodaan dimensiotaulut dim competence,dim evaluation, dim statement ja dim person, ja lisätään niihin attribuutit. Lopuksimääritellään faktat, joita ovat nykytila (current), tavoite (target) ja jännite (tension).Faktatauluihin lasketaan myös valmiiksi faktojen sijaluvut (ranks) yksittäisten vastaajien mukaiseen järjestykseen.Asiakkaan datassa on kaksi analysoitavaa tasoa, väittämä ja kompetenssi. Koska yksiväittämä voi liittyä useampaan kompetenssiin, lasketaan kompetenssien arvot omaantauluunsa. Tämän takia tarvitaan kaksi faktataulua. Moniulotteisen mallinnuksen toteuttamiseksi on useita eri vaihtoehtoja ja lähestymistapoja, eikä toteutukseen ole olemassa yhtä oikeaa toteutustapaa. Toteutettu tähtimalli eroaa esimerkiksi useimmistakirjallisuudessa mainituista esimerkeistä kahden faktataulunsa vuoksi.Kuvassa 5 on tähtimallin ja edellisten kappaleiden määrittelyiden mukainen tietokantakaavio.
18dim competencePKcompetence idcompetence namecomp group idcomp group namemain group idmain group nameonto idonto namefact RESULTSdim personPKperson idPKresult K2FK3competence ideval idperson idcurrentcurrent ranktargettarget ranktensiontension rankdim evaluationPKeval idproject idproject nameinstitution idinstitution namecountrycount of evalfact INPUTSPK,FK1PK,FK2PK,FK3statement ideval idperson idcurrentcurrent ranktargettarget ranktensiontension rankdim statementPKstatement idstatement namenegative polepositive poleKuva 5. Tietokantakaavio työssä toteutettavasta tietokannasta
194.2 Mallin toteutus tietokannassaTietokannan luomiseen ja sen ylläpitoon käytetään MySQL:n käyttöohjeesta löytyvääsyntaksia (MySQL, 2017a). Kuvassa 6 on esimerkkejä työssä toteutettavan tietokannan määrittelevistä SQL-lauseista. Aluksi luodaan uusi tietokanta ”tahtimalli” lauseella CREATE DATABASE. Toisella rivillä luodaan uusi käyttäjä ”user”, jonka sallitaan muodostaa yhteys mistä tahansa, ja annetaan sille salasanaksi ”pass”. Kolmannella rivillä annetaan käyttäjälle “user” kaikki oikeudet tietokannan tahtimalli tauluihin. Neljännellä rivillä valitaan äsken luotu tietokanta tahtimalli käytettäväksi USElauseella. Riveillä 6-20 määritellään tietokantaan taulu. Taulu fact INPUTS luodaanlauseella CREATE TABLE. Määritellään attribuuttien nimet ja tietotyypit. Lisätäänperusavaimelle ja mahdollisille viiteavaimille rajoite NOT NULL, joka pakottaa nesisältämään arvon. Määritellään perusavain lauseella PRIMARY KEY ja mahdollisetviiteavaimet lauseella FOREIGN KEY (id) REFERENCES table(id). Loput SQLlauseet kuvan 5 mukaisen tietokannan luomiseen ovat Liittessä 1.Kuva 6. Esimerkkejä työssä toteutettavan tietokannan SQL-lauseista
20Datan siirtämiseen vanhasta tietokannasta uuteen tietokantaan käytettiin MySQLWorkbenchin työkalua (kuva 7). Vanhasta tietokannasta tehtiin liitosten avulla tilapäinen taulu, jonka data kopioitiin Excelin tukemaan CSV (comma-separated values) tiedostoon. Excelillä faktoille laskettiin sijaluvut, ja niille luotiin omat sarakkeet (current rank, target rank, tension rank). CSV-tiedoston data tuotiin MySQL Workbenchin työkalulla uuteen tietokan
The programs used in this thesis were Pentaho Community Edition as a Business In-telligence software and MySQL as a database management system. The theory section of the thesis focused on the concept of Business Intelligence, par-ticularl