Välillä pysähdyn miettimään mihin taloutemme käyttää rahaa.  Useat pankit tarjoavat työkaluja joiden avulla voi seurata miten paljon rahaa menee asumiseen, ruokaan jne. Mutta miksi tyytyisin siihen kun voin tehdä saman itse Power BI:llä?

Hain verkkopankista perheemme tilitapahtumat vuodelta 2016. Vuoden aikana olemme maksaneet rahaa noin 330:lle eri saajalle. Luokittelemalla nämä saajatiedot järkevällä tavalla voin tehdä tapahtumista (1580 maksutapahtumaa) erilaisia visualisointeja. Oletettavasti suuri osa saajista on pysyviä joten pienellä vaivalla voin lisätä aineistoon myöhemmin myös vuoden 2017 tilitapahtumat.

Tuumasta toimeen.

Aineiston hakeminen

Nordean verkkopankista saa helposti ulos tilitapahtumat csv-muodossa.

nordea.png

Käytän kansiota tietolähteenä jotta voin jatkossa lisätä dataa tietomalliini vain pudottamalla uuden csv-tiedoston kansioon. Latausvaiheessa vaihdan erottimeksi tabulaattorin.  Editorissa poistan kaksi ensimmäistä riviä jonka jälkeen voin merkitä ensimmäisen rivin otsikkoriviksi (Use first row as headers).

Vielä kun korjaan ääkköset niin aineisto näyttää Power BI:ssä tältä:

tilitapahtumat siisti.png

Aineiston siivoaminen

  • Alkuperäisissä tiedostoissa joka toinen rivi tyhjä. Poistan tyhjät rivit valitsemalla yhden  sarakkeen -> poista tyhjät (Remove empty).
  • Keskityn ainoastaan menoihin. Filtteröin pois kaikki rivit joissa määrä > 0
  • Vaihdan saaja/maksaja-tiedon kaikki merkit pieniksi kirjaimiksi (lowercase). Sama saaja on aineistoissa sekä isolla että pienellä kirjaimella ja tämä aiheuttaisi ongelmia myöhemmin kun jotkut saajatiedot tulisivat luokitteluexceliin kahteen kertaan.
  • Vaihdan maksupäivän tyypiksi päivämäärän (date) ja määrän tyypiksi desimaaliluvun (fixed decimal).
  • Panot ovat aineistossa luonnollisesti miinusmerkkisiä. Poistan miinusmerkin muuttamalla määrä-kentän arvot itseisarvoiksi (Scientic -> Calculate Absolute Value).
  • Piilotan lopuksi raportilta turhat kentät. Sarakkeen kohdalla valitsen hiiren oikealla Hide in Report View.

Aineiston luokittelu

Varsinainen työ on keksiä tilitapahtumille järkevä luokittelu. Päädyin kaksitasoiseen luokitteluun jolloin menoja voi seurata karkeasti päätyypeittäin sekä yksityiskohtaisemmin alatyypeittäin.

Luokittelusta tuli seuraavanlainen:

  • Asuminen (lainat, vastikkeet, huonekalut, remontointi)
  • Liikkuminen (auto ja siihen liittyvät kulut, bussiliput, junaliput)
  • Vakuutukset
  • Hyvinvointi (kauneudenhoito, kampaajat, lääkärit)
  • Ruoka (ruokaostokset, töissä syöminen)
  • Harrastukset (liikunta, muut)
  • Viihde (elokuvat, baarit, museot, kahvila, lehdet, Netflix, alkoholi, synttärit, joulut)
  • Vaatteet
  • Lomamatkat
  • Luottokortti
  • Muut

Luokittelen ensin kaikki tilitapahtumat alaluokkiin (suluissa). Tämän teen omaan Excel-tiedostoonsa. Luokiteltavan datan poimin kyselyeditorista. Duplikaatit poistin Power BI:n päässä. Sen voi toki tehdä myös Excelissä.

Tapahtumien luokittelu on harjoituksen työläin operaatio. Lopputulos näytää Excelissä tältä:

tilitapahtumat luokittelu

Teen vielä toisen Excelin jossa kuvataan pää- ja alaluokkien suhde.

tilitapahtumat luokittelu tarkempi.png

Tuon luokittelutexcelit mukaan Power BI:hin. Käytän tietomallityökalun automaattitoimintoa (auto detect) ja valmis tietomallini näyttää tältä:

tilitapahtumat tietomalli

Visualisointi

Teen ensin yhteenvedon josta näen menojen jakautumisen vuosi- ja kuukausitasolla.

perheen menot overview

Asuminen ja ruoka ovat tylsästi ne suurimmat kuluerät.

Kuva paljastaa suoraan ratkaisuni suurimman puutteen. Luottokorttilaskun osuus potista on merkittävä enkä pysty jakamaan luottokorttiostoksiani oikeisiin menoluokkiin (kaikissa on saajatietona Nordea Suomi).

Seuraavaksi teen visualisoinnin top 10 maksunsaajista maksettavien kokonaissummien sekä tapahtumamäärien suhteen.

perheen menot top 10

Nordea (asuntolaina) on suurin yksittäinen saaja ja työpaikan ruokala taas useiten käytetty.

Teen vielä näkymän jossa voin tutkia kulujen jakautumista valitun pääluokan sisällä.

perheen menot details

Laatikoiden koot kuvaavat paljonko mihinkin pääluokkaan menee rahaa. Valitsemalla viihteen näen että siihen liittyvät menot kasvavat selvästi lomien aikana (pääsiäinen, kesäloma sekä joulu). Katkoviiva kuvaa keskiarvoa. Alemmasta käppyrästä näen että ravintolassa käyminen on selvästi suurin yksittäinen kululuokka perheemme viihdemenoissa.

Lopuksi teen näkymän jossa voin tutkia yksittäisiä tapahtumia kuukausittain, pääluokittain tai alaluokittain.  Tämän avulla on helppoa selvittää mistä tietyn osa-alueen kulut ovat oikeasti muodostuneet.

perheen menot details row level

Kuvassa olen valinnut tarkasteltavaksi koko vuoden ravintolakulut.

Yhteenveto

Power BI osoitti jälleen näppäryytensä. Pienellä vaivalla sain murskattua perheen vuoden menot tilitapahtumista erilaisiksi visualisoinneiksi. Visualisointien laatu riippuu täysin siitä miten tarkoituksenmukaisen luokittelun saa rakennettua ja miten hyvin kulut saa kohdistettua oikeisiin luokkiin. Pientä pyöristysvirhettä tulee väkisin. Omassa luokittelussani esimerkiksi oletan että r-kioskilla ei tehdä muuta kuin ladata matkakorttia jolloin kaikki siellä tehdyt ostokset luokitellaan liikkumisen alle.

Tämä kirjoitus on osa laajempaa sarjaa jossa käyn läpi Office 365:n työkaluja. Mistä niissä on kyse ja miten niitä voisi hyödyntää.