Medialukua Power BI:llä – kuinka data virusinfektiosta saadaan helposti käytettävään muotoon?

Kiinassa on valloillaan koronavirus, joka leviää vauhdilla. Eri uutistoimistot tuottavat tiheään tahtiin uutisia, ja usein uutisoidaan ”500 uutta tapausta Kiinassa” -tyylisesti. Uutta verrattuna mihin?
Paljonko tapauksia on nyt siis yhteensä todettu, paljonko oli toissa päivänä? Paljonko on lisäys ja lisääntyykö vai väheneekö tapauksien löytymisten suhteellinen kasvu päivässä? Onko kasvu eksponentiaalista vai lineaarista? Miltä tulevaisuus näyttää?

Uutisia lukiessa nousee mieleen monta erilaista kysymystä, joihin ei ihan heti löydy vastausta lehdistä tai Wikipediasta.
Onneksi on helppo mennä julkisen tiedon lähteille, katsomaan World Health Organisationin (WHO)  tilanneraportteja, jotka julkaistaan kerran päivässä. Raporteista löytyy virallinen tieto löydetyistä tapauksista kultakin päivältä omassa raportissaan maittain eriteltynä.

Olisi monta mahdollisuutta hakea tiedot tuolta WHO:n sivuilta. Power BI nykyään lukee PDF-tiedostojakin ja näytti ihan hienosti kaivavan raportista tuon taulukon, jossa tapausmäärät maittain luetellaan. Jonkinlaista Power Query -akrobatiaa kuitenkin vaatisi hakea sivulta kaikki PDF:t ja hurauttaa niistä tiedot yhteen. Nähdäkseni kuitenkin ihan tehtävissä ja tällaiseen Power BI:n Dataflows onkin ihan tarkoitettu.
Toinen mielenkiintoinen juttu olisi hyödyntää Azure Data Factorya, Azure Databricksiä ja Azure Data Lakea. Azure Data Factorilla haetaan tiedostot sellaisenaan Azure Data Lakeen talteen ja ohjelmoidaan Pythonilla Databricks lukemaan tiedostojen sisältä tiedot ja palauttamaan ne Power BI:lle.

Tässä olisi myös erinomainen esimerkkitapaus Ignitessa julkaistulle Azure Synapse Analyticsille, jolla saataisiin koko putki tuolta tiedon hakemisesta lopulliseen visualisointiin yhteiseen työtilaan ja kunkin osan tekijät voisivat sitä yhdessä läpinäkyvästi työstää. Palvelu on vielä private preview -vaiheessa, ja tälle käyttötapaukselle tuskin saa haettua omaa preview-ympäristöä Microsoftilta. Jos Azure Synapse Analytics kiinnostaa enemmän, katso webinaaritallenteemme viime vuodelta.

Vein kuitenkin tiedot nyt tylsästi ja nopeasti tietokantaan ATK:lla (= Antti Tapani Kontiainen copypastettaa) koska tietoa on vähän, se on helposti käsiteltävässä muodossa ja päivittyy vain kerran päivässä. Tässä kohtaa siis kustannustehokkain ratkaisu.
Tein pikaisen visualisoinnin ja lisäsin Power BI:n automaattisen ennustuksen. Tällä tavalla minun on helpompi saada kokonaiskuva siitä, mitä tapahtuu ja arvioida tilanne itse. Raportin voi myös jakaa muille kiinnostuneille, tai vaikka upottaa sen nettilehden sivuille.

Power BI:n ennustus toimii käyttäen Exponential Smoothing -algoritmiä. Kiinassa tapauksien määrä juuri nyt (28.1.2020) kasvaa eksponentiaalisesti, joten tuntuu, ettei algoritmi ihan usko kasvun jatkuvan samaan eksponentiaaliseen tahtiin. Mutta arvatenkin ennustus paranee sitä mukaa kun saadaan uutta dataa tulevilta päiviltä.

Helppoa, nopeaa ja ilmaista. Tässäpä sama raportti sinullekin katseltavaksi. http://kont.in/corona

Koronavirus levinneisyys Power BI -raportti tilanne 28.1.2020

Koronavirus levinneisyys Power BI -raportti tilanne 28.1.2020

Lue lisää: Kuinka Power BI auttaa käsittelemään suuria datamassoja?

Kuinka Power BI auttaa esimerkiksi toimittajaa suurten datamassojen käsittelyssä? Visualisointi tekee aiheista helpommin lähestyttäviä ja tuo personoinnin mahdollisuuksia. Power BI:n ansiosta uusien juttuaiheiden löytäminen ja taustatyön tekeminen on helpompaa, lue blogi!


Antti Kontiainen

SQL Server -kurssit – mikä sopii minulle?

Koulutettuani reilun vuosikymmenen SQL Server -kursseja ajattelin, että voisi olla oikea aika katsoa vähän ympärille ja miettiä kuinka ohjelmat ovat kehittyneet.

SQL Server on perinteinen sovellus, joka on useassa organisaatiossa keskeisessä roolissa. Siksipä monissa organisaatioissa onkin vahva perinne ja osaaminen kaikkeen SQL Serverin soveltamiseen. Monipuolisena ohjelmistona SQL Serverin kurssivalikoima on laaja ja monipuolinen. Tälläkin hetkellä kurssivalikoima on peräti 28:n kurssipäivän mittainen.

Kurssien sisältöjä on SQL Server versioiden myötä hiukan vaihdettu. Niitä on nivottu eri tavalla yhteen ja asioita on lisätty ja poistettu. Huomionarvoista on se, että ennen hallintakurssi alkoi lähes päivän mittaisella asennusmodulien läpikäynnillä ja nyt kurssi 20765 Provisioning SQL Databases pitää sisällään palvelimen ja tietokantojen käyttöönoton!

Ajat muuttuvat ja nykypäivänä Azuresta on helppo ottaa valmiiksi asennettu virtuaalikone, jossa SQL Server on vielä mukana. Samoin nyt, kun varmasti suuri osa SQL Server asennuksista tehdään virtuaalikoneille ja nopeat SSD-levyt ovat valloittaneet palvelimetkin, ei asennussuunnittelua tarvitse tehdä enää sillä tavoin kirjoituspäänliikkeitä optimoiden. Toki vieläkin, kun haetaan laitekustannuksilta kustannustehokasta, mutta silti nopeaa ja suurikapasiteettista tietokantaa, on on-prem ratkaisulle ja asennussuunnittelulle sijansa, jossa tuo provisiointikurssi auttaa. Toki, jos tarkoitus on saada vain yksi SQL Server pystyyn, niin pystyn sen kanssa auttamaan konsultoiden, jos ei halua itse asiaa oppia.

Toinen merkittävä, ja tarvittaessa konsultoitava, kokonaisuus on korkean käytettävyyden (High Availability) ratkaisut. Ennen hallintakurssin ohessa osittain (lähinnä Log shipping ja mirroring) käydyt HA-ratkaisut loistavat kurssitarjonnassa poissaolollaan, vaikka meillä on nykyään näppärät Always On Availibility Groupsit ja Always On Fail Over Clustering Instances -teknologiat olleet olemassa 2012 versiosta lähtien.

Kurssi 20764 Administering a SQL Database Infrastructure onkin ihan keskeisin kurssi SQL Serverin kanssa työskenteleville. Siinä neljän päivän aikana käydään hyvin läpi SQL Serverin hallintaan liittyvät asiat. Käyttäjätunnukset ja luvitukset, varmistukset ja palautumiset, valvonta ja hallinta sekä erityisesti tietokantojen huoltotoimet. Erityisesti konsultille, joka työskentelee useissa eri asiakasympäristöissä, kurssi on tärkeä. Kurssilla käydään läpi SQL Serverin hallinta SQL Serverin omien hallintatyökalujen avulla. Vaikka asiat ja konseptit ovat samoja, niin välillä näkyy kurssilaisten ajatukset siitä, että meillähän esimerkiksi valvonta tehdään kolmannen osapuolen tuotteilla. Jos organisaatiossa on tietokannan ylläpidon puolella sukupolven vaihdos käynnissä, niin kannattaa kysyä myös räätälöityä kurssia omalle organisaatiolle. Silloin voidaan painottaa haluttuja asioita ja vaikka yhdistellä useamman kurssin sisältöjä.

Toinen keskeinen kurssi on 20761 Querying Data with Transact-SQL, jolla käytännössä opiskellaan SQL-kielen Select-lauseke aika lailla alusta loppuun. Itsepalveluraportointi on Power BI:n myötä noussut suositummaksi kuin ennen ja samalla se on nostanut tarpeen SQL-kyselykielen osaamiseen. Siihen tämä kurssi on hyvä! Lisäksi tällä kurssilla tutustaan tietotyyppeihin ja moniin muihin keskeisiin konsepteihin, jotka hallinnan ja tietovarastoinnin puolella ovat keskiössä. Ja kerronpa tällä kurssilla senkin, miksi Gangnam Style pakotti Googlen muuttamaan YouTuben tietokantaan.

Hyvä parivaljakko on 20767 Implementing a SQL Data Warehouse- ja 20768 Developing SQL Data Models -kurssit. Ensimmäisellä rakennetaan keskitetty tietovarasto, ja jälkimmäisellä rakennetaan semanttinen malli, jonka avulla tietovaraston tietoja tuodaan raportintekijöille ymmärrettävästi käytettäväksi. Tietovaraston puolella opiskellaan mm. tähtiskeeman ja lumihiutalemallin eroja, erilaisia tapoja rakentaa DW, sekä pohditaan miten meidän pitää dimensiot suunnitella, kun ne ajan oloon hiukan muuttuvat. Tuolla jälkimmäisellä tietomallikurssilla materiaali keskittyy OLAP kuutioiden, eli multidimensionaalisten mallien, kautta mallien tarkasteluun. Tässä näkyy kuitenkin Power BI:n valtava nousu ja modernien laitteistojen tuomat mahdollisuudet suurien tabulaarimallien käsittelyyn. Siksi painotankin kurssilla asioiden ymmärtämistä molemmissa konteksteissa ja ennen kaikkea pyrin tekemään multidimensionaalisen ja tabulaarisen mallin erot selväksi. Mielestäni molemmat kurssit yhdessä ovat hyvä kokonaisuus, joka kannattaa käydä läpi.

Kurssi 20762 Developing SQL Databases on ehkä enemmän suunnattu sovelluskehittäjille, joiden tulee tuntea tietokannan toimintaperiaatteet sovelluksia suunniteltaessa. Toinen tyypillinen kohderyhmä tälle kurssille on vanhojen legacy-sovellusten kanssa painivat ylläpitäjät, jotka miettivät miten vanhaan luotettavan ERP-sovellukseen saisi vielä muutamia vuosia lisää toiminta-aikaa.

Yleisesti ottaen Microsoftin koulutustarjoama menee kokonaan uusiksi jälleen kerran. Tällä kierroksella siirrytään vieläkin voimakkaammin pilvipalveluihin, vaikka ne melkein kaikilla kursseilla läsnä tavalla tai toisella ovat tähänkin asti olleet olemassa, mutta ennen kaikkea teknologiapohjaisista roolipohjaisiin kursseihin. Myös modulisointia on viety pidemmälle.

SQL Server puolella tämä näkyy Data Platform-kurssien tulemisena, jotka voi tunnistaa DP-alkuliitteestä kurssin nimessä. Pidän DP-200: Implementing an Azure Data Solution -kurssin 17.2.2020 ja odotan sitä innolla! Tämän kurssin jatkokurssi DP-201: Designing an Azure Data Solution järjestetään 2.3.2020. Lisää Data Platform-kurssejakin on tulossa, joten kannattaa käydä tutustumassa kurssitarjontaan!

Tervetuloa, kurssilla nähdään!