Mielensäpahoittajan oppimisanalytiikkaa – osa 1

Kyllä minä niin mieleni pahoitin, kun Webropol-kyselyistä piti tiedot tuoda PowerBI:hin ja yhdistää Moodlen sekä ulkoisen arviointidatan kanssa.

Tiedolla johtamisen osaajakoulutuksella tuottavuutta työelämään – TIEJOT-hankkeessa toteutettiin useita opintojaksoja eri Moodle-alustoilla, joihin samat opiskelijat kirjautuivat useilla eri tunnuksilla. Näistä kaikista piti koostaa yhtenäinen visualisointikokoelma, joissa edistymistä voidaan seurata opiskelijakohtaisesti aina kahden perättäisen toteutuksen kesken. Visualisointi toteutettiin Oppikoppi-järjestelmän PowerBI-visualisointipohjaan.

Pääsin pahoittamaan mieleni PowerBI:n työskentelyä hankaloittavien ominaisuuksien kanssa useampaan otteeseen. Onneksi niiden vaikutuksia on mahdollista kiertää, ja tarkastelemme tässä artikkelissa ratkaisuja kehittäjän näkökulmasta.

Kyllä minä mieleni pahoitin, kun piti vaihtaa PowerBI:n taulujen sarakkeiden järjestystä

PowerBI järjestää taulujen sarakkeet automaattisesti aakkosjärjestykseen. Silloin on helppoa etsiä tietty kenttä pitkästäkin listasta. Hankaluuksia tulee, kun taulun kentät halutaan liittää esimerkiksi taulukkovisualisointiin aakkosjärjestyksestä poikkeavasti.

Eräs tällainen tilanne on Webropol-palautekyselyjen yhdistäminen dataan. Sama palautekyselydata haluttiin liittää kahteen eri visualisointiin, jotka sijaitsevat eri PowerBI-työkirjoissa. Sarakkeiden järjestys haluttiin pitää samana alkuperäiseen palautekyselyyn nähden, että niitä on myöhemmin helpompi vertailla SPSS-ohjelmassa. PowerBI kuitenkin liittää sarakkeet näkymään aakkosjärjestyksessä, joten kehittäjä joutuu järjestelemään sarakkeet kuhunkin visualisointiin oikeaan järjestykseen käsin. Useiden kymmenien sarakkeiden kanssa toimiminen alkaa muuttua varsin työlääksi, sillä sarakkeiden järjestyksen vaihtaminen on hidasta ja virhealtista PowerBI:n käyttöliittymän rajoitusten vuoksi.

Webropol-palautekyselyssä voi olla välissä ohjetekstejä, jotka kertovat mihin asiayhteyteen sitä seuraavat kysymykset liittyvät. Tämän avulla palautekyselyyn voidaan liittää täsmälleen samanlaisia kysymyksiä, mutta vastaukset liittyvät vaikkapa aina eri opintojaksoon. Webropol myös numeroi kysymykset automaattisesti lomakkeelle.

Otetaanpa esimerkki. Palautetta halutaan kysymykseen “käytetty aika”. Näitä sijoitetaan useampia samaan palautekyselyssä, ja ohjetekstit erottelevat ne opintojaksokohtaisiksi:

Opintojaksoon 1 liittyvät kysymykset

1. käytetty aika

Opintojaksoon 2 liittyvät kysymykset

2. käytetty aika

Käyttäjän on helppo erottaa nämä järjestyksen perusteella. Mutta siirrettynä PowerBI:hin siirtotiedoston avulla kysymystekstit eivät olekaan uniikkeja. Vastausten vienti Excel- tai CSV-muotoon ei sisällä kysymysten automaattista numerointia – ainoastaan pelkät kysymystekstit.

PowerBI kuitenkin liittää samanlaisten sarakkeiden nimien perään alaviivan ja juoksevan numeron. Tämä varmistaa, että ne ovat uniikkeja ja erottuvat toisistaan. Lopputulos on havaittavissa kuvasta 1, jossa jälkimmäinen käytetty aika on nimetty käytetty aika_1.

Kuva 1. Oikealla data ja sarakkeiden alkuperäinen järjestys, vasemmalla vastaavat järjestettynä aakkosittain PowerBI:n käyttöliittymään.

Kun tämän ominaisuuden yhdistää aakkosjärjestyksessä esitettyyn kymmeniä nimiä sisältävään sarakelistaan, on vielä työläämpää etsiä asiayhteyteen liittyvää saraketta. Sarakkeiden sisältämää dataa on silloin pakko tutkia tarkemmin lähdemateriaalista.

Ratkaisuja tähän on onneksi ainakin kaksi kappaletta.

1. Kysymysten numerointi suoraan Webropoliin palautekyselyn kysymysteksteihin

    Silloin kukin kysymysteksti on valmiiksi uniikki, eikä jatkokäsittelyn osalta synny ongelmia. Kysymykset ovat myös koneen näkökulmasta aakkosjärjestyksessä – varsinkin jos lukujen alkuun liitetään ns. täytenollia. Tämä käytäntö vaatii enemmän töitä kyselyn tekijältä, koska kysymykset ja niiden järjestysnumero on kirjattava käsin, ja muokattaessa palautekyselyä järjestys voi muuttua.

    2. Kysymysten numerointi ennen siirtoa PowerBI:hin

    Tässä tapauksessa kysymysteksteistä saadaan myös uniikkeja. Se vaatii kehittäjältä jonkin verran lisää työpanosta, koska täytyy luoda skripti, joka numeroi sarakkeet.

    Jos jotkut kysymykset viittaavat numerolla aiempiin, tai kohdistuvat aina tiettyyn opintojaksoon, ne voidaan korjata tarvittaessa käsityönä – jonka määrä vaihtelee viittausten ja eri asiayhteyksien perusteella.

    Numeroinnin tavasta riippumatta, se auttaa kehittäjää pitämään kysymysten järjestyksen samana useissa eri visualisoinneissa. Suoraviivaisin tapa on kuitenkin kysymysten numerointi suoraan kysymysteksteihin, jolloin saavutetaan sama alkuperäinen palautekysymysten järjestys myös PowerBI:ssä, kuten on nähtävissä kuvasta 2.

    Kuva 2. Numeroidut sarakkeet ovat aina myös samassa järjestyksessä PowerBI:n käyttöliittymässä.

    Kyllä minä niin mieleni pahoitin PowerBI:n tekemistä ristiliitoksista

    PowerBI:ssä on mahdollista liittää samaan visualisointiin mittareita sekä fakta– ja dimensiotauluen sarakkeita. Erikseen liitettynä nämä toimivat vallan mainiosti esimerkiksi taulukko- tai matriisivisualisoinnissa, jolloin rivikohtainen konteksti rajaa kulloinkin laskettavan arvon.  Sen sijaan ongelmia alkaa syntyä, kun näitä liitetään useampia samaan visualisointiin, ja halutaan vielä esittää tyhjerivien arvot nollina.

    Ajatellaanpa tilannetta, että haluamme esittää jokaiselle opiskelijalle tietyt arvot mittareiden ja fakta- sekä dimensiotauluista yhdistellen. Faktatauluna toimii verkkokyselyn tulokset. Dimensiotauluna toimii opiskelija. Sitten luomme mittarin, joka laskee tehtäväpisteet tehtäväpistefaktataulun perusteella. Haluamme, että visualisointi tuottaa pisteitä saamattomille opiskelijoille visualisointiin arvon 0. Meillä on dimensiotaulussa viisi opiskelijaa A, B ,C, D, ja E. Yksikään opiskelijoista ei ole suorittanut tehtävää numero 2, ja ainoastaan opiskelijat A,B ja C ovat suorittaneet tehtävän 1. Kaikki opiskelijat, paitsi E, ovat vastanneet verkkokyselyyn.

    Taulukkovisualisointiin lisätään ensimmäiseksi dimensiotaulusta opiskelijan nimi. Silloin on ainakin edellytykset, että jokainen opiskelija tulee varmasti esitettyä kerran. Taulukkoon lisätään mittarit tehtävien pisteitä varten. Niissä käytetään CALCULATE-funktiota laskeakseen tehtäväpistetaulukon kentän arvosta kunkin tehtävän maksimipisteet, ja tuottaa tyhjeille arvoksi nolla, kuten on nähtävissä listauksesta 1.

    Listaus 1. Tehtävälle T1 maksipisteet palauttava mittari, joka palauttaa puuttuville pisteille arvon 0.

    Seuraavaksi lisäämme verkkokyselyn yhden kentän mukaan, ilman tiivistämistä. PowerBI luo tehtäväpistemittarin sekä opiskelijataulukon datasta riistiinliitoksen (cross-join), jossa jokaista opiskelijaa kohden syntyy mukaan rivi jokaista vastauskyselysarakkeen arvoa kohden. Tämä puolestaan tuottaa visualisoinnissa turhia rivejä, kuten on nähtävässä kuvan 3 vasemmanpuoleisesta taulukosta.

    Kuva 3. Vasemmalla ristiliitos ilman tiivistekaavoja ja tiivistekaavojen kanssa oikealla.

    Kyllä minä niin mieleni pahoitin, kun tämän selvittämiseen aikaa hukkui

    Tilanne ratkeaa, kun käytetään taulukkovisualisointeihin liitetyissä sarakkeissa tiivistearvoja, mikä on havainnollistettu kuvan 1 oikeanpuoleisessa taulukossa. Numeeristen kenttien osalta tiivisteen laskukaavana on mahdollista käyttää minimiä, maksimia, summaa, lukumäärää, hajontaa, varianssia tai mediaania. Tekstimuotoisten kenttien osalta vastaavat tiivistekaavat ovat ensimmäinen, viimeinen, tai lukumäärä.

    Tekstimuotoisten kenttien osalta voidaan valita joko ensimmäinen tai viimeinen, koska opiskelijakohtaisesti rajatussa datassa on ainoastaan yksi arvo. Numeeristen kenttien osalta minimi, maksimi, mediaani tai summa toimivat myös samasta syystä.

    Mieleen voisi tulla myös korvata opiskelijan nimi –sarake vastaavalla mittarilla. Valitettavasti tämä palauttaa ainoastaan opiskelijat, joista on tietoa jossakin tietyssä faktataulussa, joten se ei sovellu kaikkiin tilanteisiin.

    Kyllä minä mieleni pahoitin automaattisesta nimeämisestä

    Kun käytämme tiivisteitä, PowerBI nimeää oletuksena faktataulujen sarakkeet visualisoinnissa uudestaan. Se asettaa aina tiivistekaavan kuvaavan nimen sarakkeen nimen alkuun. Tästä esimerkkinä toimivat Kuvan 3 oikeanpuoleisen taulukon sarakeotsakkeet Sum of tyytyväisyys ja First käytetty aika.

    Jokainen sarake voidaan nimetä toki uudelleen PowerBI-visualisoinnissa, mutta se vaatii paljon klikkauksia. Numeeristen kenttien osalta datanäkymässä on mahdollista määrittää oletustiivistekaava, mutta sekin on asetettava käsin (kuva 4). Tekstimuotoisten kenttien osalta oletustiivistekaavaksi voi valita ainoastaan lukumäärän (kuva 5). Mikäli tiivistekaavaksi tarvitaan ensimmäinen arvo, se on muokattava käsin kullekin visualisoinnin sarakkeelle erikseen.

    Kuva 4. Oletustiivistekaavojen (Summarization) vaihtoehdot PowerBI:ssä numeerisille kentille.
    Kuva 5. Oletustiivistekaavojen (Summarization) vaihtoehdot PowerBI:ssä tekstimuotoisille kentille.

    Tämän vuoksi onkin suositeltavaa, että esimerkiksi Likert-asteikon numeeriset vastaukset määritetään myös PowerBI:n tuodessa numeerisiksi, jolloin oletuksena niiden tiivistelaskentakaavaksi on mahdollista asettaa summa. Koska vastauksia kutakin opiskelijaa kohti on vain yksi, se tuottaa myös jokaiselle taulukkovisualisoinnin riville vain yhden (ja samalla oikean) vastauksen ristiinliitoksen yhteydessä.

    Kyllä minä mieleni pahoitin liian pitkistä muuttujanimistä

    PowerBI sallii sarakkeissa 512 merkkiä pitkät nimet. Jos tietoja viedään PowerBI:n visualisoinnista esimerkiksi ulkopuolisiin ohjelmiin analysointia varten, voivat liian pitkät sarakkeiden nimet aiheuttaa ongelmia.

    Esimerkiksi SPSS on varsin suosittu ohjelmisto tilastollisen analyysin tekemiseen, mutta se sallii muuttujien nimissä ainoastaan 64 merkkiä. Pitkät ja kuvaavat nimet PowerBI:n sarakkeista on silloin muistettava lyhentää, ettei SPSS muunna niitä tunnistamattomiksi.

    Erityisesti pitkissä palautekyselyn kysymyksissä alku saattaa olla monessa kysymyksessä samanlainen, ja vain loppuosa on merkityksellinen vastauksen kannalta. Silloin lyhennetyt nimet yleensä sisältävät ainoastaan samanlaisen alkupätkän, ja lopussa on satunnainen kirjain tai numero.

    Kyllä minä niin mieleni pahoitin, kun piti tähänkin artikkeliin yhteenveto kirjoittaa

    Mielensäpahoittajien kannattaa siis muistaa jatkossa seuraavat asiat Webropol-kyselyjen datan yhdistämisestä PowerBI-visualisointiin:

    1. Lisää kysymysten yksilöivät numerot suoraan Webropoliin palautekyselyn kysymysteksteihin.
    2. Suosi numeerista dataa vastauksissa, ja aseta PowerBI:n sarakkeisiin oletustiivistekaavaksi summa, niin säästyt turhilta riveiltä taulukkomuotoisissa esityksissä.
    3. Aseta tekstimuotoisille sarakkeille tiivistekaavaksi ensimmäinen arvo (First) ja varaudu päivittämään sarakkeiden nimistä luettavampia PowerBI:ssä.
    4. Pidä sarakkeiden nimet 64 merkissä, jos siirrät niitä SPSS-ohjelmaan.

    Mielensäpahoittanut kirjoittaja:

    Anssi Gröhn, tietojenkäsittelyn lehtori, Karelia-ammattikorkeakoulu

    Artikkeli on kirjoitettu Tiedolla johtamisen osaajakoulutuksella tuottavuutta työelämään – TIEJOT -hankkeessa. Hankkeen rahoittaja on JOTPA Jatkuvan oppimisen ja työllisyyden palvelukeskus.