Tiedätkö, toimiiko riskienhallintasi?

Jos yrityksen riskienhallinta, asiakkaille tarjottu tuoteportfolio tai asiakaskohtainen hinnoittelu eivät ole keskenään sopusoinnussa niin on suuri vaara, että tästä voi aiheutua taloudellisia tappioita yritykselle.

Monesti on vielä niin, että teoriassa riskienhallinnan periaatteet ovat hyvät ja riskeille altistuminen on ollut tietoista mutta liiketoimintajohdolla tai riskienhallinnalla ei ole ollut riittäviä välineitä varmistaa sitä mikä on nykytilanne.

Energianmyynnissä kuluttajille ja yhteisöille, josta Ready Solutions Oy:n osakkailla on pitkä kokemus, on mahdollista, että tilanne elää nopeasti ja tarve reagointiin huomataan vasta silloin kun on liian myöhäistä.

Business Intelligence – välineellä datasta informaatioksi!

Eräs ratkaisu on toteuttaa liiketoimintajohdon ja riskienhallinnan raportointi BI – välineellä ja jakaa informaatiota ympäri organisaatiota.

Tekniikka & Talouden artikkelissa Jarkko Sahlman kertoi miten datan hyödyntäminen liiketoiminnan johtamisessa mahdollisti siirtymisen arvaamisesta tietoon.

Monilla organisaatioilla on jo käytössään BI – välineitä, eikä ole välttämättä kovin suuri ponnistus ryhtyä käyttämään valmista välinettä uuteen käyttötarkoitukseen. Suurin kustannus on tähän käytetty työaika, mutta toisaalta organisaatioilla on itsellään paras ymmärrys liiketoimintamalleistaan. Tekninen toteutus on myös mahdollista ostaa osaavalta kumppanilta.

Lähde kehittämään liiketoimintaraportointiasi!

Jarkko Sahlman on Ready Solutions Oy:n osakas ja johtava konsultti erilaisten liiketoiminnan johtamisen ratkaisujemme alueella. Jarkolla on pitkä kokemus energia-alan myynnin – ja riskienhallinnan johtotehtävistä sekä controller – kokemusta teollisuudesta.

Jos haluat tietää lisää, miten tällainen raportointi on mahdollista toteuttaa, niin ota yhteyttä myyntitiimiimme.

myynti@readysolutions.fi

+358451374850

Big Dataa ja Business Intelligenceä

DI Lauri Talvikoski aloitti 11.5.2018 Ready Solutions Oy:n osakkaana ja vanhempana konsulttina. Laurilla on erittäin vahva kokemus Big Data -ohjelmistojen sekä palveluiden käytöstä erilaisissa ympäristöissä. Koulutukseltaan Lauri on Tuotantotalouden DI Aalto-yliopistosta.

Lauri vahvistaa selkeästi Ready Solutionsin osaamista näillä alueilla ja toivotamme Laurin lämpimästi tervetulleeksi mukaan toimintaamme.

 

Esittelyssä 3 tietomallinnusmenetelmää

Tietomalli määrittää ja dokumentoi ohjelmiston perussuunnittelun data-näkökulmasta. Mallinnus voidaan aloittaa korkean tason konseptuaalisesta mallinnuksesta, josta seuraava askel on looginen malli ja lopuksi päädytään fyysiseen tietomalliin. Tässä artikkelissa esittelen 3 tietomallinnusmenetelmää fyysisen tietomallin tekemiseen. Tarkoituksena on näyttää miten erilaisia taulurakenteet ovat riippuen siitä mikä menetelmä on valittu. Tämä on tarkoitettu enemmän introduction-tyyppiseksi kirjoitukseksi, eikä se sisällä kaikkia mahdollisia nyansseja joita eri ratkaisuihin liittyy.  Esimerkkinä mallinnusratkaisuissa käytetään myyntilasku, tuote ja asiakas -tietoja.

Ensimmäinen malli alla on Dimensionaalisen menetelmän mukainen. Dimensioonalisen mallinnuksen
tekniikan esitteli ensimmäisen kerran Ralph Kimball 90-luvulla ja se on yksi käytetyimpiä menetelmiä tietovarastoinnissa. Dimensionaaliset mallit ovat helposti ymmärrettäviä, joustavia ja niistä saa helposti kyseltyä erilaisia aggregaatteja (summia) ulos. Kääntöpuolena dimensionaalisessa mallissa on että ne tallentavat ylimääräistä dataa. Esimerkiksi alla olevassa mallissa maa-tieto toistuu, kuin myös SalesInvoice-taulun Asiakas ja Due_Date. Dimensionaalista mallia ei ole optimoitu operatiivisten järjestelmien pohjaksi. Alla oleva malli ei myöskään tallenna kaikkia muutoksia lähdejärjestelmissä, vaikkakin dimensionaalisen mallinnustekniikan SCD2 dimensiolla se olisi mahdollista.

Dimensioonaalinen malli

Seuraava malli on 3. normaalimuodon mukainen (yleisesti puhutaan myös normalisaatiosta), jonka esitteli E.F.Codd jo 70-luvulla. Normaalimuotoja on tunnistettu yhteensä 6 kappaletta (1-6), mutta kolmatta normaalimuotoa pidetään yleensä riittävänä tarjoamaan riittävän yksinkertaisen tietomallin kuitenkin poistaen Update, Insert ja Delete -operaatioihin liittyviä anomalioita. Normalisointi poistaa datan turhaa/päällekkäistä tallentamista ja sitä käytetään operaatiivisissa järjestelmissä joissa on runsaasti Insert ja Update -operaatioita (Transaction processing).

3 normaalimuodon malli. ”[Every] non-key [attribute] must provide a fact about the key, the whole key, and nothing but the key so help me Codd.”

Viimeisenä esittelyssä Dan Lindstedin vuonna 2000 julkaiseman Data Vault (DV) -mallinnustekniikka. Data Vaulttia käytetään dimensionaalisen mallinnustekniikan tavoin pääasiassa tietovarastointi projekteissa. Alla olevasta kuvasta voi todeta että Data Vault menetelmä on selvästi monimutkaisempi kuin edellä mainitut menetelmät, ainakin taulujen määrällä mitattuna. DV ei ole kaikkein käytetyin menetelmä, joskin sillä on intohimoinen kannattajajoukko. Menetelmä tallentaa kaikki lähes kaikki muutokset lähdejärjestelmästä, joka on voi olla tietyissä tilanteissa toimiva ratkaisu. Esimerkkimallista voi nähdä kyselyjen tekeminen tähän malliin on selvästi monimutkaisempaa kuin esimerkiksi dimensionaalisesta mallista.

Data Vault malli

Ready Solutions kasvaa

 

Uusia osakkaita

DI Jarkko Sahlman aloitti 19.3. Ready Solutions Oy:n osakkaana ja johtavana konsulttina. Jarkolla on erittäin laaja kokemus myynnin kehittämistehtävistä, energiamarkkinoista sekä erilaisten tiedolla johtamisen välineiden hyödyntämisestä, ml. QlikSense sekä QlikView. Aiemmin Jarkko on työskennellyt liikkeenjohdon konsulttina, energiatoimialalla myynnin ja riskienhallinnan johtotehtävissä sekä teollisuudessa controllerina. Koulutukseltaan Jarkko on tuotantotalouden DI Lappeenrannan teknillisestä yliopistosta.

FM Matti Vartiainen aloitti 19.3. Ready Solutions Oy:n osakkaana ja konsulttina. Matilla on vahva osaaminen liiketoimintalähtöisten raportointiratkaisujen tuottamisessa. Aiemmin Matti on työskennellyt konsulttina sekä energiatoimialalla Business Intelligence – kehittäjänä. Matti on koulutukseltaan FM pääaineena tietojenkäsittelytiede Itä-Suomen yliopistosta. Syventävinä opintoina Matti on opiskellut kehittyneen data-analytiikan opintoja.

Asko ja Jonne toivottavat uudet osakkaat lämpimästi tervetulleeksi edelleen kehittämään Ready Solutions Oy:n palveluita.

Matti LinkedInissä

Jarkko LinkedInissä

 

Analytiikan datarakenteet

Liiketoiminnan data-analytiikan datarakenteet

Yhtä tärkeitä asioita kuin data-analytiikassa käytettävät menetelmät ja niistä johdetut algoritmit, ovat datarakenteet. Vaikka käytännössä työtä niiden suhteen tekevät asiaan erikoistuneet asiantuntijat, niin myös organisaatiossa olisi hyvä olla ymmärrystä yleisellä tasolla millaiset ongelmat vaativat minkä tyyppistä datarakennetta.

Datarakenne mallintaa jonkun kiinnostavan liiketoiminnallisen ilmiön suhteessa eri havaintoyksiköihin, aikaan tai näiden kombinaatioon.

Alla olevassa kuvassa nähdään, että liiketoiminnallisen ongelman / tavoitteen sekä käytettävissä olevien datojen suhteen täytyy käydä iteratiivisesti määrittelyä sekä datan ensivaiheen analyysiä. Tässä vaiheessa ei välttämättä vielä sitouduta tiukasti johonkin tiettyyn metodologiseen kokonaisuuteen.

 

Kolme suurta kokonaisuutta datarakenteina ovat:

  • Poikkileikkaus
  • Aikasarja
  • Paneeli / kohortti / pitkittäisaineisto

Tässä esityksessä nuo datarakenteet pitää ajatella pikemminkin loogisina kokonaisuuksina, eikä vielä oteta kantaa siihen tarkoitetaanko rakenteella jotain tietokoneohjelman muistissa olevaa tietyn ohjelmointikielen alkeisobjektia vai tietokantataulua. Todellisuudessa tietokantataulukin on abstraktio, jossa data säilytetään tiedostoissa ja ohjelmisto huolehtii sen datan tuomisesta hyödyntävän ohjelmiston käyttöön.

 

Poikkileikkaus

Poikkileikkaus on datarakenne, jossa on P kappaletta erilaisten muuttujien yksittäistä havaintoa N kappaleelle eri havaintoyksiköitä. Havaintoyksikkö voi olla kotitalous, yritys, yrityspäättäjä, yksittäinen henkilö tai vaikkapa kone IoT – sovelluksissa.

Poikkileikkausrakenne ei suoraan sisällä havaintoyksiköiden osalta ajan suhteen minkään tyyppistä suhdetta, mutta epäsuorasti noiden P muuttujan aikaikkunoinnilla voidaan saavuttaa tilanne että ne kuvaavat havaintoyksiköiden havaintohetkeä edeltävää historiaa.

Joissain tilanteissa jotkut muuttujista voivat kuvata tulevaisuutta havaintohetkeen nähden eli nykyhetkeen verrattuna havaintohetki on menneisyydessä. Esimerkkinä vaikka lainahakemus, jonka kohdalla myönnettyyn luottoon liittyvät maksuerä saattaa jäädä maksamatta havaintohetkeä seuraavan 200 päivän aikana. Tällaisessa tilanteessa havaintohetki olisi 200 päivää menneisyydessä nykyhetkeen verrattuna.

Yksittäiset havaintoyksiköt tai niiden käytös ei välttämättä ole riippumatonta toisista havaintoyksiköistä, esimerkiksi kotitalouteen kuuluvat henkilöt voivat tehdä jonkun yrityksen suhteen asioita samalla tavalla. Esimerkiksi irtisanoa sopimuksensa yhtä aikaa.

Aikasarja

Aikasarjarakenne kuvaa yksittäisen aikasarjan havaintoa yhdestä muuttujasta T aikaperiodin yli. Jos K kappaletta eri aikasarjoja yhdistetään matriisiksi niin saadaan tilannee, jossa on KT havaintoa seurattuna T aikaperiodin yli.

 

Aikasarjat ovat perinteisiä ekonometriassa, tilastotieteen sovellusalueessa taloustieteessä, käytettyjä datarakenteita.

 

Aikasarjoissa esiintyy lähes aina peräkkäistä ja sarjojen välistä riippuvuutta  sekä toisaalta kausivaihtelua eli sarjan riippuvuutta kaudesta S, jona havainto mitataan.

  • autokorrelaatio kuvaa sarjan riippuvuutta sen omasta historiasta
  • ristikorrelaatio kuvaa sarjan riippuvuutta toisen sarjan historiasta tai nykyisestä tilasta
  • kausivaihtelu kuvaa sitä, että on mielekkäämpää verrata sarjan nykyistä tasoa M aikaperiodia sitten olleeseen tasoon eikä tasoon juuri välittömästi aiempina aikaperiodeina.

IoT – datan rakenne on luontevasti aikasarja, vaikka sen voisi mallintaa myös poikkileikkauksena tai paneelina.

Paneeli

Paneelissa yhdistää poikkileikkaus – ja aikasarjarakenteiden ominaisuuksia, koska tässä on jokaisesta N havaintoyksikön P muuttujasta dataa yli T aikaperiodin.

Paneelidatarakenteen käyttö edellyttää näistä eniten metodologista osaamista, koska ajalliset sekä havaintoyksiköiden väliset riippuvuudet ovat selkeästi hankalampia ottaa huomioon.

 

Lopuksi

Erilaiset ongelmat vaativat erilaisia datarakenteita ja asettavat tiukat ehdot lähtödatan luonteelle. Jokaisella organisaatiolla, aivan pienempiä yrityksiä lukuun ottamatta, tulisi olla yleisellä tasolla ymmärrystä siihen millaisia datarakenteita erilaisiin heidän liiketoimintansa ongelmiin / tavoitteisiin pitää käyttää.

Ready Solutions Oy on tiedonhallinnan asiantuntijayritys, joka pystyy auttamaan teitä tässä. Ota yhteyttä ja pohditaan yhdessä tiettyä tavoitetta vastaava ratkaisu.

Analytiikkaa, liiketoimintaa vai sovelluskehitystä?

Data Science on ohjelmistokehittäjien ja konsulttien hallitsemaa ilmatilaa

LinkedIniä seuraamalla voisi helposti ajatella että kotimaassa pääasiassa suuremmat konsulttiyritykset ja muut ohjelmistokehittäjät tekevät analytiikkaa, mutta todellisuudessa sitä tietysti tehdään eri organisaatioissa eri lähtökohdista.

Isommat ei-ohjelmistokehitysorientoituneet organisaatiot ovat saattaneet jo vuosia sitten hankkia
SAS tai SPSS Modeler – ohjelmistoja, joilla liiketoimintalähtöiset data-analyytikot ovat tehneet
analytiikkaprosessejaan. Pankit, vakuutusyhtiöt, julkaisijat sekä teleoperaattorit ovat tällaisia perinteisten analytiikka-alustojen käyttäjiä.

Ohjelmistokehittäjillä ja meillä konsulteilla on työkalupakki yleensä laajempi, mutta olemme kauempana liiketoiminnan käytännöistä. Oman kokemukseni mukaan taloudellisen mallin rakentaminen osaksi analytiikan tulosten arviointia saa paremman vastaanoton, kuin pelkkien
tulosten esittely ilman tuollaista sidosta.

 

Mitä on analytiikka?

Analytiikka on oikeastaan liiketoiminnan kehittämisen ja johtamisen apuväline, joka eroaa perinteisestä  operatiivisesta tai strategisesta raportoinnista siinä että erilaisia mitattujen ilmiöiden
vaikutussuhteita ja ennusteita pyritään tuottamaan algoritmien avulla. Datavisualisointi on taas luonteeltaan erilaisten ilmiöiden tarkastelua ihmisten oman havainto – ja jäsennyskyvyn asettamissa rajoissa.

Tilastotieteessä ja sen sovellusalueissa eri tieteissä oletetaan useimmiten taustalle joku satunnaisprosessi, jonka parametrit ovat tiedossa mutta jonka arvot pyritään datasta estimoimaan. Tai parametrit ovat satunnaismuuttujia, jos asiaa lähestystään bayesilaisen tradition näkökulmasta.

Liiketoiminnan data-analytiikka taas kokoaa yhteen työkaluja tietojenkäsittelytieteestä, tilastotieteestä ja sovelletusta matematiikasta. Tarkoitus ei ole tehdä tiedettä vaan tuottaa käyttäjäorganisaatiolle taloudellista hyötyä, joten metodologian kohdalla ei yleensä olla sitoutuneita johonkin yksittäiseen lähestymistapaan.

Datan ja liiketoiminnan vuoropuhelu

Organisaatioilla on dataa eri muodoissa, eri määriä ja syntyen eri liiketoimintaprosessien seurauksena. Joissain tilanteissa ulkoisten datalähteiden hyödyntäminen on tärkeässä roolissa, esimerkkinä nyt vaikkapa luotonanto jossa hyödynnetään luottotietorekisterien pitäjien datoja.

Ehkä tärkein asia analytiikan tekemisessä on se, että liiketoiminnallinen ongelma on ymmärretty ja tiedetään mitä lähdetään tavoittelemaan.

Asiantuntija, joko organisaation oma tai ulkopuolinen, pystyy arvioimaan miten käytettävissä oleva data kelpaa liiketoiminnallisen ongelman ratkaisemiseen.

Integraatiota ja perspiraatiota

Iso osa työstä on datan kanssa painimista, ekonomisteilla on vitsi että data tunnustaa kunhan sitä
kiduttaa riittävän pitkään ja se taitaa joskus pitää paikkansa.

Varaudu kehittäjänä siihen että inspiraation ja perspiraation suhteet voivat olla vääristyneet suhteessa omaan käsitykseesi työkuvasi sisällöstä.

 

 

Onko koskaan syytä käyttää peräkkäistiedostoja?

Vanhat järjestelmät ja mutkikas liiketoimintalogiikka

Ready Solutions Oy:n Johtava konsultti Jonne Poutiainen kirjoitti aiemmin kokemuksiaan dataintegraatioista. Jatkan hieman samalla teemalla ja käsittelen yhtä erikoispiirrettä, joita joidenkin pitkään toimineiden organisaatioiden liiketoimintaan liittyy.

Tiedostot integraatiotyyppinä

Tiedostoja on käytetty integraatiotyyppinä (integration pattern) todella pitkään. Kyse on asynkronisesta integraatiosta, sillä useimmissa tapauksissa ei voida olettaa lähettävän tai vastaanottavan prosessin pystyvän suoraan jatkumaan kun tällainen integraatio on toteutettu. Jos halutaan reaaliaikaisia vasteita kutsulle prosessista toiseen, niin tarvitaan muita tapoja toteuttaa integraatio.

Lisäksi täytyy ajatella taustalla olevan liiketoimintaprosessin luonnetta, esimerkiksi laskutus on usein eräpohjainen ja tietyyn ajankohtaan liittyvä prosessi jossa transaktioita tapahtuu paljon. Tuollaisessa tilanteessa yhdistelmä eräajoa ja tiedostoja on kovin luonteva, vaikka ei enää ainoa vaihtoehto.

 

Vanha liiketoimintalogiikka ja toteutus

Aiemman konsultin kokemukseni mukaan rahoitus- ja vakuutusalalla käytetään runsaasti teknologioita, joiden kypsyystaso saavutettiin jo vuosikymmeniä sitten. Näiden usein organisaatioille räätälöityjen järjestelmien korvaaminen on kallista.

Pelkästään organisaation tiedon hallinan tarpeita varten ei toteuteta kalliita muutoksia, vaan niiden muutosten ajurit ovat muita syitä.

Liiketoimintavastuut

Jossain tilanteissa perusjärjestelmien tuottaman datan tuottaa prosessi, jonka ominaisuuksista voi olla ulkpuolisen vaikea päästä perille kohtuullisessa ajassa. Jopa saman organisaation sisällä voi olla järkevämpää että dataa hyödyntävät tahot saavat sen käyttöönsä tiedoston kautta eikä välttämättä suorilla tietokantakyselyillä.

 

Kehittäjälle

Todennäköisesti erilaiset tiedostointegraatiot tulevat olemaan keskuudessamme vielä pitkään, varaudu siis siihen että niitä joudut toteuttamaan sekä käyttämään lähteinä.

 

Pilveä ja Poweria

 

Aiemman julkaisumme   dataosaamisesta mukaisesti, Ready Solutions opastaa suomalaisia pk-yrityksiä ottamaan käyttöön uusia palveluita sekä kehittämään liiketoimintaansa datan avulla. Tässä kerromme miten asiakasdatasi, myyntiprosessisi ja erilaiset aktiviteetit saadaan visualisoitua Microsoftin Power BI – välineen avulla.

Power BI on helppokäyttöinen, mutta paljon ominaisuuksia sisältävä tuote, jonka raportit voidaan jakaa pilvipalvelusta suoraan käyttäjille ilman omia investointeja erityiseen infraan. Raportteja voidaan kehittää Power BI Desktop – tuotteella, jonka löydät täältä.

 

Lähtökohdat

Kirjoitamme tämän siitä näkökulmasta mikä meille itsellemme on myös luontevin eli asiantuntijapalveluita muille yrityksille tarjoavan yrityksen. Kyse on siis B2B – myynnistä, mutta todellisuudessa tärkeimmät tiedot mitkä meillä pitää olla hyvässä kunnossa ovat asiakasyritysten tai potentiaalisten asiakasyritysten yhteyshenkilöt. Yhteyshenkilö voi olla yrityspäättäjä tai muu erilaisten palveluiden hankintaan muuten merkittävästi vaikuttava henkilö.

Alla oleva lista asioista, joita asiakkuuksien parissa työskentelyä helpottaviin tietojärjestelmiin yleensä kuuluu, havainnollistaa kokonaisuutta.

  • Lead
  • Account
  • Contact
  • Opportunity

Mitä nuo pitävät sisällään? Meille asiakas, potentiaalinen asiakas tai yhteistyökumpani on organisaatio ja Account – entiteetin jäsen.

Edellisillä on aina 1..N kappaletta yhteyshenkilöitä. Oikeastaan yhteyshenkilöiden kanssa kommunikointi tai interaktiot, jotka näyttäytyvät tietojärjestelmässä aktiviteetteina, on koko myynnin prosessimme ydin.

Yhteys yrityksen Dynamics 365 – instanssiin

Käytämme yleensä OData  – protokollaa yhdistämään Power BI:n D365 instanssimme tietoihin.

Linkki instanssisi  rajapintaan löytyy kohdasta ”Asetukset/Mukautukset/Kehittäjien resurssit”

 

 

Power BI Desktopin puolella taas voit tehdä tällaiset valinnat:

Myyntiprosessisi tilanne

Myyntisi raportointi perustunee suurelta osin Myyntimahdollisuus / Opportunity objektin tietoihin, jotka saat helposti valittua kun valitset oikean ”taulun” Power BI Desktopin avulla.

Millaiset tietoryhmät ovat kiinnostavia myynnin raportoinnin kannalta?

  • Myyntimahdollisuuteen liittyvä potentiaalinen asiakas tai asiakas
  • Myyntimahdollisuuden arvioitu euromäärä
  • Myyntimahdollisuuden myyntiprosessin vaiheiden ajankohdat
  • Myyntimahdollisuuteen ehkä liittyvät tuotteet tai palvelut

Noiden tietojen sisältö sekä laajuus riippuvat hyvin paljon organisaatiosi tavasta tehdä myyntiä.

 

Hyödyt

Power BI mahdollistaa hyvin nopean yhteyden asiakasdataasi pilvessä sekä mahdollistaa tämän datan hyödyntämisen liiketoimintasi kehittämisessä.

 

Lopuksi

Pienikin yritys voi ottaa käyttöön ratkaisun, joka avaa sille aivan uusia mahdollisuuksia raportointiin eikä kustannuskaan per käyttäjä ole liian suuri.

Toki täytyy myöntää että tässä näkökulma on pienen yrityksen konkreettinen operatiivisen toiminnan raportointi ja liiketoiminnan kehitys sekä ohjaus sen datan perusteella. Suurelle yritykselle tällaiset järjestelmät tyypillisesti tarjoavat muitakin etuja ja lisäksi data voidaan yhdistää erilaisten tietovarastointitekniikoiden avulla muuhun organisaation dataan.

Seuraa Ready Solutions Oy:tä LinkedIn:ssä ja sivuillamme, niin saat lisää tietoa siitä miten erilaiset teknologiat oikeasti tarjoavat hyötyjä käyttäjäorganisaatioilleen!

Dataintegraation yleisimmät ongelmat

Dataintegraatio projektit voivat olla varsin suuria investointeja ja työ ei yleensä pääty alkuperäisen projektin jälkeen. Uusia järjestelmiä rakennetaan ja liiketoiminta esittää uusia vaatimuksia, jotka tarkoittavat uusien dataintegraatioiden rakentamista. Tässä rakennustyössä täytyy olla tarkkana, muuten yritys voi huomata että rakennettu systeemi vaatii alati kasvavan ylläpitotiimin jotta dataintegraatioprosessit pysyvät pystyssä. ITssä on kyse automaatiosta, ja jatkuva manuaalinen työ voi viedä elinvoiman järjestelmien loppukäyttäjiltä.

Mitkä ovat suurimmat ongelmat ja kuinka ne voi välttää?

Flat-tiedostot (Flat Files)

Flat-tiedostoja käytetään usein dataintegraatiossa, ja usein ne ovat ongelmien pääsyyllinen. Jaan tässä nämä tiedostot kahteen ryhmään:

  • automaattisesti generoidut tiedostot
  • excel-tyyppiset tiedostot, joita käyttäjät päivittävät suoraan.

Automaattisesti generoidut Flat-tiedostot

Yleinen ongelma on että tiedosto ei saapunut oikeaan aikaan. Paras ratkaisu tähän ongelmaan on tiedoston generoivan prosessin linkkaaminen sitä vastaanottavaan (lukevaan) päähän. Jos tämä ei ole mahdollista, jää vaihtoehdoksi lisätä lukevan prosessin joustavuutta niin että se pystyy odottamaan tiedoston saapumista ja vasta luettuaan tiedoston käynnistämään sen jälkeen tulevat integraatioprosessit. Vaikka tämä kuulostaa ilmiselvältä, liian usein dataintegraatioita rakennetaan
oletuksella että tiedosto saapuu tasan tietyllä kellonlyömällä, ja epäonnistumisen jälkeen kukaan ei ota vastuuta huonosti toimivasta prosessista.

Toinen yleinen ongelma on että tiedosto ei ole oikeassa formaatissa. Tyypillisesti formaatin on rikkonut muutama rivi, joista löytyy tiedoston tulkitsemislogiikan käyttämiä erikoismerkkejä väärästä paikasta (esim. rivinvaihto tai sarake-erotin). Nämä on sellaisia asioita jotka tiedoston generoivan prosessin pitäisi aina tarkastaa, erityisesti sellaisten kenttien osalta joissa alkuperäinen inputti on tullut avoin tekstikenttä-tyyppisestä syötöstä. Tiedoston generoivan prosessin tulee tarkastaa onko edellämainittuja erikoismerkkejä väärissä paikoissa ja poistaa ne. Tapauksesta
riippuen myös lukevassa päässä voi olla joustavuutta niin että se selviää muutamasta ’huonosta’ rivistä.

Flat-fileet joita käyttäjät päivittävät suoraan (esim. excelit)

Tämä onkin vaikeampi kategoria, ja en oikeastaan suosittelisi tällaista käyttämään ollenkaan sillä näiden muokkaamisessa tuntuu tulevan virheitä joka toisella kerralla. Ja vaikka tiedostoa muokkaava henkilö olisikin hyvin tarkka työssään, voi olla että hän jossain vaiheessa siirtyy muuhun työpaikkaan tai tehtäviin, ja seuraavaksi exceliin arvoja syöttävä henkilö ei onnistukkaan yhtä hyvin. Tämän tyyppisen tiedon syöttämisen tulisi tapahtua sellaisen systeemin läpi joka jo syöttövaiheessa tarkastaa tietotyyppien oikeellisuuden ja mahdollisesti myös arvojen oikeellisuuden.

Tietokannat

Tietokannoista lukemisessa on huomattavasti vähemmän ongelmia. Mutta toki silloin tällöin yhteys voi pätkäistä tai luettava tietokanta on muuten kiireinen (lukossa). Ongelmaa voi helpottaa asettamalla dataa lukevan prosessin yrittämään uudestaan, jos ensimmäinen kerta epäonnistui. Toki jos luettava tai kohde -tietokanta on jatkuvasti hidas tai lukossa, on tutkittava mikä tilanteen aiheuttaa ja korjattava ongelman juurisyy.

Huonosti toteutetut datatransformaatiot

Datatransformaatiot täytyy tehdä niin että tietotyypitykset otetaan huomioon. Esimerkiksi jos meillä on ’If x=y then a else b’ -lauseke joka ei pysty käsittelemään arvoa null kentässä x. Vaikka null arvoja ei kyseisessä kentässä tällä hetkellä näkyisikään, täytyy prosessin pystyä ne käsittelemään, jos lähdetietoihin on mahdollista sellaisia arvoja syöttää.

Liian paljon turhia riippuvuuksia

Edellä mainitut ongelmat voivat suurentua merkittävästi jos dataintegraatioprosessien välille on rakennettu liikaa riippuvuuksia. Tarpeettomia riippuvuuksia ei tietenkään pitäisi olla ollenkaan. Jos prosessi x on loogisesti riippuvainen vain ja ainoastaan prosessien y ja z onnistumisesta, ei ylimääräistä riippuvuutta muihin prosesseihin tule rakentaa. Suurissa dataintegraatioprojekteissa tämä tulee erittäin tärkeäksi, sillä pahimmassa tapauksessa mikä tahansa virhe pysäyttää koko dataintegraatioprosessin, eikä vain sitä osaa joka on riippuvainen virheen aiheuttaneesta osasta, johtaen toistuviin manuaalilatauksiin. Dataintegraatioprosessien riippuvuudet toisiinsa tulee asettaa minimitasolle.

Virhe johtaa aina manuaaliseen uudelleen lataukseen

Joku voi kuitenkin mennä pieleen. Erityisesti transaktio-tyyppisen datan latauksissa on hyvä idea sisällyttää ladattavaan batchiin enemmän kuin vain tarpeellinen data, esim. 1 päivän sijaan viimeisen kahden päivän data. Näin prosessi korjaa itse itsensä seuraavan päivän automaattisessa latauksessa.