Kategoriat
Yleinen

Sankey-kaavion luominen Kouvolan ostolaskuista

Sankey-kaavio on virtakaavio, joka edustaa tietojen, resurssien tai energian virtausta yhdestä elementistä toiseen. Kaaviot koostuvat suorakaiteita, jotka edustavat kategorista dataa sekä nuolista, jotka edustavat virtauksia kategorioiden välillä. Nuolen leveys vastaa virtauksen määrää.

Kaavio Kouvolan kaupungin vuoden 2021 ostolaskuaineistosta

Yksi suosittu käyttökohde Sankey-kaavioille on oman talouden hallinta. Seuraamalla omia tuloja ja menoja ja merkitsemällä tiedot ylös exceliin luo hyvän aineiston visualisoitavaksi. Verkkopankissa tiedot ovat hyvin saatavissa ja menojen ja tulojen kategorisointi voi olla myös hyvin opettavainen kokemus.

Seuraavaksi luomme yksinkertaisen Sankey-kaavion käyttämällä ei minun, vaan kotikaupunkini Kouvolan ostolasku-aineistoa vuodelta 2021 joka on saatavilla osoitteessa https://www.kouvola.fi/kouvolankaupunki/kouvola-tietoa/avoin-data/ Kaavion luomiseen käytetään SankeyMATIC -työkalua joka puolestaan käyttää tehokasta JavaScriptin D3.js visualisointikirjastoa.

Data on Excel-tiedostossa joten lienee luontevaa käyttää datan muokkaukseen Exceliä. Ennen visualisointia data on muokattava oikeaan muotoon, joka tässä tapauksessa on seuraava:

Mistä [paljonko] Minne

Vasemmalle puolelle tulee kategoria ja oikealla toinen kategoria johon virtaus kohdistuu. Hakasuluissa esitetään virtauksen määrä, jonka täytyy olla numeerinen muuttuja.

Aluksi poimin ostolaskuexcelistä vain halutut sarakkeet. Tässä tapauksessa vasemmalle puolelle tulee pelkästään ”Kunnan nimi”, oikealle muuttuja nimeltä ”Tiliryhmä 1” sekä numeeriseksi muuttujaksi ”Laskun loppusumma” jolloin taulukon alku näyttää seuraavalta:

Seuraavaksi aineisto pivotoidaan. Tarkoitus on yksinkertaisesti ryhmitellä aineisto Tiliryhmä 1:n mukaan ja laskea jokaiselle ryhmän jäsenelle laskujen summa. Tätä varten luodaan pivot-taulukko painamalla (englanninkielisessä excelissä) Insert -> pivot table -> From Table/range.

Alueeksi valitaan sarakkeet joissa Tiliryhmä 1 ja Laskun loppusumma majailevat, eli tässä tapauksessa sarakkeet B ja C. Pivot-näkymässä Tiliryhmä raahataan hiiren avulla laatikkoon ”rows” ja laskujen eurot raahataan laatikkoon values, josta Excel oletuksena laskee summan.

Pivotoimalla valitut sarakkeet saadaan aikaan nk. GROUP BY toiminto

Seuraavaksi siirrän pivot-taulukon omalle välilehdelle, jossa suoritetaan viimeinen toimenpide ennen visualisointia. Se on datan muuttaminen sankeymaticin haluamaan mistä [paljonko] minne -muotoon.

Lisään pivot taulukon vasemmalle puolelle uuden sarakkeen A joka saa joka rivillä arvon ”kouvolan kaupunki” Edustamaan kaaviomme vasenta laitaa. Sarake B sisältää tiliryhmäluokittelut ja sarake C laskujen summat. Kätevimmin datan saa visualisoitavaan muotoon käyttämällä seuraavaa funktiota uuteen sarakkeeseen:

=CONCATENATE(A2, " [", C2, "] ", B2)

Tässä A-sarakkeen toisella rivillä oleva arvo (koska ensimmäisellä on sarakkeen nimi) tulee vasemmalle, sen väliin C-sarakkeen arvo hakasuluissa ja vasemmalle B-sarakkeen arvo. Concatenate tarkoittaa suurin pirtein toisiinsa kytkemistä tai yhteen liittämistä. Lopputuloksena on seuraavanlainen taulukko:

D-sarakkeessa on funktiolla muodostettu data muodossa mistä [paljonko] minne

D-sarakkeen sisällön voi kopioida sellaisenaan sankeyMATICin inputs-laatikkoon. Työkalu tarjoaa paljon vaihtoehtoja kaavion muokkaamiseen monipuolisella käyttöliittymällä. Esimerkiksi tässä tapauksessa virtaus lähtee yhdestä osoitteesta, mutta sen voi myös jakaa kategorioihin. Lisäksi kaavion ulkonäköä voi muokata todella monipuolisesti haluamansa näköiseksi. Lopputuloksena tiliryhmän visualisoinnista syntyi seuraava kuva, jonka voi kätevästi ladata png-muodossa: