Tietovaraston raportoitavat suureet faktatauluun
Mikä on fakta?
Faktat ja dimensiot ovat ensimmäisiä käsitteitä, joihin Business Intelligence -työkaluja käyttävä joutuu tutustumaan. Käyttäjä törmää niihin viimeistään siinä vaiheessa, kun avaa raportointityökalun ja tutkii valittavissa olevia kenttiä. Sen sijaan, että kaikki tietokentät kuten asiakasnimi tai tuoteryhmä olisi listattu allekkain, tieto on ryhmitelty aihepiireihin eli dimensioihin. Dim Asiakas -dimension alta löytyy asiakastieto, Dim Tuote -dimensiosta tuotetieto jne, mutta mitä löytyy faktataulusta?
Faktataulun kenttinä on euroja, dollareita, kiloja, litroja, kappaleita tai mitä vaan laskettavia arvoja, joita halutaan laskea yhteen. Faktataulun kenttiä kutsutaan mittareiksi, joiden niminä voi olla vaikka Myyntisumma (eur), Toimitusmäärä (kpl) tai Keskihinta (€/kpl). Ne ovat laskelmia, jotka ynnäävät yhteen tuhansia laskurivejä, pakkalistoja, reklamaatioita tai muita numeroja sisältäviä rivejä.
Mikä on vuoden 2018 myynti euroina?
Kun vastaamme kysymykseen, mikä on vuoden 2018 myynti euroina, tarvitsemme faktataulusta Myyntisumma (eur) -mittarin ja kalenteridimensiosta Vuosi-attribuutin. Kalenteridimension tehtävänä on rajata laskelmat vuoteen 2018 ja faktataulun tehtävänä on laskea yhteen eurot. Yleisesti ottaen dimensioiden tarkoituksena on suodattaa sekä ryhmitellä tietoa ja faktojen tarkoituksena on laskenta.
Fakta | Dimensio | |
---|---|---|
Tehtävä | laskee | rajaa, ryhmittelee |
Tietotyyppi | numeroita | tekstiä |
Koko | miljoonia rivejä | satoja rivejä |
Faktataulun rakenne
Faktojen ja dimensioiden suhde
Vaikka käyttäjälle näkyy faktataulusta vain numerot, se ei sisällä pelkästään yhteenlaskettavia arvoja. Jotta BI-työkalu osaisi valita faktataulun riveistä vain ne, jotka liittyvät vuoteen 2018, pitää faktarivillä olla jokin maininta oikeasta vuodesta. Teknisesti asia toteutetaan niin, että faktataulun rivillä on kenttä Päiväysavain, jonka perusteella kalenteridimensio voidaan yhdistää faktoihin. Päiväyksen lisäksi faktarivillä olisi oma kenttänsä jokaiselle dimensiotaululle, joita raportoinnissa tarvitaan.
Päiväysavain | Asiakasavain | Tuoteavain | Myynti eur |
---|---|---|---|
1.4.2018 | 234 | 83 | 5 |
2.8.2019 | 923 | 52 | 10 |
Avainsarakkeet piilotetaan käyttäjältä, mutta ne ovat taustalla välttämättömiä dimensioiden ja faktojen yhteen sitomiseksi. Tietokantatermein faktataulu yhdistyy dimensioon yksi moneen -kardinaliteetilla (1-*) eli yksi faktarivi liittyy vain yhteen dimensioriviin, mutta yksi dimensiorivi voi liittyä moneen faktariviin. Käytännössä 1-* suhde tarkoittaa, että yksittäinen laskurivi liittyy yhteen tuotteeseen, mutta tietty tuote saattaa liittyy satoihin laskuriveihin.
Erilaiset mittarit
Vaikka aiemmin mainitsin, että faktojen mittarit ovat yhteenlaskettavia kenttiä, tämä ei ole täysin totta, sillä mittareilla on eri muotoja, jotka ovat:
- Lisäävä (esim. myyntieurot, toimitukset)
- Puoliksi lisäävä (esim. varastosaldo)
- Ei lisättävä (esim. suhdeluvut, prosentit)
Lisääviä mittareita voimme käsitellä huoletta eri dimensioiden kanssa, sillä yhteenlasku ei mene sekaisin vääristä rajauksista. Esimerkiksi laskurivien eurot ovat täysin lisääviä mittareita, sillä voimme laskea kahden vuoden myynnit yhteen tai rajata laskelman yksittäiseen myyjään.
Puoliksi lisäävä mittari käyttäytyy eri tavalla dimensiosta riippuen. Voimme laskea kahden varaston tai tuoteryhmän rahamääräisen varastoarvon yhteen, mutta emme voi laskea tammikuun ja helmikuun varastosaldoa yhteen. On tyypillistä, että rajoittavana dimensiona on aika ja silloin taustasyynä on faktataulun tilannevedostyyppi.
Ei lisättävä mittari menee summauksista sekaisin. Jos meillä olisi faktataulussa alennusprosentti, emme pystyisi laskemaan yhteen tietyn tuoteryhmän tai ajanjakson alennusprosentteja. Tässä kyseisessä tapauksessa ongelman voi kiertää, kun alennuksen säilyttää faktarivillä euroina ja prosenttilaskun jättää raportointityökalun vastuulle.
Faktataulutyypit
Faktataulun tyyppi liittyy siihen, mitä faktataulun yksittäinen rivi edustaa. Yllä olevissa esimerkeissä faktataulun rivi on ollut sama kuin laskurivi, eli jokainen myyntitapahtuma synnyttää yrityksen myyntijärjestelmään laskurivejä, jotka siirretään tietovarastoon faktariveiksi. Myynti-, osto-, toimitus- tai muihin tapahtumiin liittyviä faktatauluja kutsutaan transaktionaalisiksi.
Jos raporttimme koskisi lämpötiloja, faktataulutyyppi olisi erilainen. Ei ole mitään lämmönmuutostapahtumaa, jonka voisi kirjata transaktiona, vaan kirjaamme ainoastaan lämmönmittauksen, joka on kuvaus tietyn hetken lämpötilasta. Säännölliseen aikaväliin sidottua mittausta kutsutaan jaksoittaiseksi tilannevedokseksi. Käytämme usein tilannevedosta myös sellaisissa tilanteissa, joissa transaktioseuranta olisi mahdollinen, mutta tilannevedos on raportoinnin kannalta luontevampi. Yhtenä tällaisena tapauksena on varastoseuranta, jossa varastotilanne merkitään faktatauluun tietyin aikavälein. Vaikka polkupyörien määrä ei varastossa muutu, lisäämme faktatauluun joka päivä uuden rivin polkupyörän varastosaldosta.
Projektiluontoisessa työssä tieto tulee tipoittain hankkeen edetessä. Hankkeella on ensin pelkkä aloituspäivä, viikkoa myöhemmin tarkistuspäivä, kuukautta myöhemmin valmistumispäivä ja lopuksi loppuarviointipäivä. Samalle faktataulun riville täydennetään tietoa sitä mukaan kuin uutta tietoa tulee eli kyseessä on kerääntyvä tilannevedos.
Transaktionaalinen | Jaksoittainen tilannevedos | Kerääntyvä tilannevedos | |
---|---|---|---|
Faktarivi | yksi rivi jokaiselle transaktiolle | yksi rivi jokaiselle mittauspisteelle | yksi rivi jokaiselle projektille tai työvirralle |
Aikajakso | transaktion tapahtumahetki | säännöllinen ajanjakso | vaihteleva ajanjakso |
Rivimuutos | ei | ei | kyllä |