Voit visualisoida Power BI:ssä maantieteellisiä tietoja eri tyyppisinä karttoina. Kuvaan tässä jutussa mitä esivalmisteluita datalle pitää tehdä, jotta kartat ymmärtävät maantieteelliset sijainnit oikein tai ainakin mahdollisimman oikein.
Karttapalveluiden algoritmit saattavat muuttua ja aihepiiri on muutenkin kovin laaja, joten toivottavasti kommentoit juttua, jos huomaat korjattavaa tai täsmennettävää.
Tulen kirjoittamaan lähiaikoina erilliset tarkemmat ohjeet ainakin seuraavista karttatyypeistä ja linkitän ne alle:
- Peruskartat Power BI:ssä
- Esrin ArcGIS -kartat Power BI:ssä ja
- Power BI:n muotokartta (shape map) (juttu tulossa)
- mukautetut Office-kaupasta ladattavat kartat (juttu tulossa)
Datan valmistelu karttoja varten
Käytän tämän jutun esimerkeissä tavallisia sisäänrakennettuja peruskarttoja, joten jotkut yksityiskohdat voivat käyttäytyä eri tavalla esimerkiksi ArcGIS- tai mukautettujen karttojen yhteydessä. Tarkemmat kuvaukset tulevat karttatyyppikohtaisiin ohjeisiin.
Power BI -kartoissa voi käyttää seuraavanlaisia sijaintitietoja:
- pituusaste & leveysaste -pari (longitude & latitude),
- katuosoite (address)
- postinumero (postal code)
- osavaltio (state or province)
- hallintoalue (kuten maakunta) (county)
- maa (country/region)
- maanosa (continent)
- paikka (place), joka muodostuu edellisten yhdistelmistä.
Pituusaste & leveysaste -pari on paras vaihtoehto ja se on myös nopein. Esimerkiksi tavallista sisäänrakennettua karttaa (Bubble map) -käytettäessä Power BI kykenee sijoittamaan latitude- ja longitude-sijainnit kartalle itse ilman Bing-karttapalvelun apua.
Maantieteellisten kenttien luokittelu
Maantieteelliset kentät eli sarakkeet pitää luokitella, jotta Bing-karttapalvelu ymmärtää tiedot oikein. Vaikka osa kartoista vaikuttaisi toimivan ilman luokitteluita Power BI Desktopissa (erityisesti jo kenttien nimet ja data ovat englanninkielisiä), luokittelu on hyvä aina tehdä, jotta kartat näkyvät oikein myös pilvipalvelussa ja mobiiliappseissa. Luokittelemattomat kentät toimivat oman kokemukseni perusteella satunnaisesti. Joskus toimivat, joskus eivät.
Luokittelu tehdään valitsemalla kenttä ja määrittämällä luokka Mallinnus (Modeling) -välilehdeltä. Kukin sarake luokitellaan erikseen ja luokitellun sarakkeen edessä näkyy kenttäluettelossa maapallon symboli.
Luokat määritellään seuraavasti
- Jos sarakkeessa on yksi tieto, kuten postinumero tai kunta, se luokitellaan postinumero- tai kaupunki -tyyppiseksi.
- Jos sarakkeeseen on yhdistetty useita maantieteellisiä tietoja esimerkiksi välilyönnillä tai pilkulla erotettuina, kuten postiosoite (postinumero ja kunta) tai kaupunki ja maa, kenttä pitää luokitella Paikka (Place) -tyyppiseksi.
Esimerkki sarakkeen sisällöstä | Luokittelu |
Helsinki | Kaupunki (City) |
Suomi tai FI tai Finland | Maa (Country/Region) |
Uusimaa | Hallintoalue (County) |
00100 | Postinumero (Postal Code) |
Helsinki, Uusimaa | Paikka (Place) |
Helsinki, Suomi | Paikka (Place) |
00100 Helsinki | Paikka (Place) |
Huom! Vaikka luokittelet kaikki kentät, se ei tarkoita, että voisit käyttää niitä yksin tai sellaisenaan karttavisualisoinneissa!
Esimerkiksi Aura-niminen kunta voi päätyä Saksaan tai Salo Italiaan. Vielä viime kesänä Bing-karttapalvelu piirsi Lapuan Papua-Uuteen-Guineaan ja Ahvenanmaalla olevan Sundin Norjaan.
Sijaintitietojen näyttämiseen oikeissa paikoissa on pari eri vaihtoehtoa, riippuen käyttämäsi kartan tyypistä.
Sijainnit kuntoon sarakkeita yhdistelemällä
Saat sijainnit kartalle oikeisiin paikkoihion muodostamalla dataan sarakkeita, joissa paikkatiedot ovat yksilöllisiä. Käytännössä sinun pitää yhdistellä sarakkeita sopivalla tavalla. Esimerkiksi postinumero ”00100” voi esiintyä useissa maissa, mutta postiosoite ”00100 Helsinki” on yksilöllinen.
Voisi olettaa, että esimerkiksi ”Helsinki, Suomi” -tyyppinen sarake olisi yksilöllinen. Vaan eipä olekaan. Suomessa on useita paikkoja, joilla on sama nimi. Esimerkiksi Uudeltamaalta löytyy Lapinjärvi-niminen kunta ja sen lisäksi Oulun yläpuolelta löytyy Lapinjärvi-niminen järvi. Jos yhdistät kunnan nimen ja maan, ainakin tällä hetkellä (01/2018) Bing-karttapalvelu piirtää ”Lapinjärvi, Suomi” sijainnin Oulun yläpuolella olevan järven kohdalle. Tämä tarkoittaa, että parempi vaihtoehto on yhdistää kaupunki ja maakunta, jotta kunta sijoittuu Suomen sisällä oikeaan kohtaan.
Voit myös muodostaa sarakkeen, joka yksilöi sijainnin vieläkin tarkemmin, kuten ”Lapinjärvi, Uusimaa, Suomi”.
Ohje sarakkeiden yhdistämiseen: https://hexcelligent.fi/2015/11/16/power-query-tiedon-tayttaminen-jakaminen-yhdistaminen-ja-muuntaminen/
Datassa on harvoin maakuntia, joten voit noutaa ne esimerkiksi wikipediasta: https://fi.wikipedia.org/wiki/Luettelo_Suomen_kunnista ja yhdistää ne kuntanumeron tai nimen perusteella omaan dataasi (yhdistämisohje löytyy sivulta ja on otsikoitu Yhdistäminen Power BI Desktopissa: https://hexcelligent.fi/2015/01/24/power-query-kyselyiden-yhdistaminen-merge-toiminnolla/ )
Sijainnit kuntoon hierarkian avulla
Sen sijaan, että yhdistelet kenttiä, saat ainakin Power BI:n sisäänrakennetuissa peruskartoissa sijainnit kuntoon käyttämällä visualisoinnissa kenttiä hierarkkisesti. Hierarkkiaa ei voi käyttää ArcGIS-kartoissa (01/2018), sillä ArcGIS kartta hyväksyy vain yhden sijaintikentän.
Tämä tekniikka edellyttää myös, että olet ensin luokitellut kaikki yksittäiset sarakkeet.
Vedä kentät sellaisessa hierarkkisessa järjestyksessä kartan Sijainti (Location) -alueelle, että niistä muodostuu yksilöllistä tietoa aivan kuten yhdistäessäsi kenttiä. Poraudu tämän jälkeen hierarkkiassa halutulle tasolle visualisoinnin otsikkorivillä olevan painikkeen avulla.
Huomaa, että Power BI lähettää karttapalveluun vain ne tiedot, mitä visualisointiin on sijoitettu. Tälläkin tavalla visualisointi sisältää kaiken tarpeellisen ja kartta toimii.
Ovatko kaikki pisteet piirtyneet kartalle ja oikein?
Valitettavasti karttavisualisointi ei kerro, jos jokin karttapisteistä on jäänyt piirtämättä kartalle eikä se edes näytä miten moni pisteistä näkyy kartalla. Toivottavasti Power BI -karttoihin kehittettäisiin ominaisuus, joka antaisi listan niistä tiedoista, joille ei löydy sijaintia, jotta erilaiset kirjoitusvirheet yms. paljastuisivat.
Entäpä jos karttaan sijoitetaan täysin virheellistä tietoa? Valitettavasti kartta saattaa näyttää tiedon täysin väärässä paikassa antamatta siitä mitään ilmoitusta.
Alla olevassa kuvassa datassa on ”Tukholma, Uusimaa, Suomi” tai ”Tukholma, Suomi” ja se piirretään sekä sisäänrakennetuissa että ArcGIS-kartoissa Helsingin paikalle??
Entäpä pituus- ja leveysasteet?
Pituus- ja leveysasteet ovat aina paras vaihtoehto sijaintien näyttämiseen ja niihin perustuvat kartat ovat myös nopeimpia.
Latitude- ja longitude -lukujen tulee olla desimaalilukuja.
Huomaa! Jos sinulla on suomalaista maantieteellistä dataa, luvut voivat olla jonkun sellaisen koordinaatiston mukaisia lukuja, joita Power BI ei tunnista. Löydät lisätietoja erilaisista suomalaisista koordinaatistoista esimerkiksi täältä. Netistä löytyy myös erilaisia koordinaattimuunnostyökaluja.
Kirjoitan latitude- ja longitude -arvojen käyttämisestä tarkemmin eri karttalajien yhteydessä (sisäänrakennetut vs ArcGIS), sillä niiden käyttöön liittyy karttalajiriippuvaisia eroavuuksia.
Lisätietoja: https://docs.microsoft.com/en-us/power-bi/power-bi-map-tips-and-tricks
Artikkelin alkuperäinen julkaisu: https://hexcelligent.fi/2018/01/10/kartat-power-bissa/