Power BI Dataflows – enemmän aikaa tiedon analysointiin

15.04.2019

Marko Somppi

Power BI on mitä mainioin itsepalvelu-BI-työkalu. Se sisältää monipuoliset tietolähdeyhteydet, ETL-työkalun, tehokkaan muistinvaraisen kuution sekä raportointityökalut samassa paketissa. Itse asiassa niin tiiviissä paketissa, että kertaalleen tehdyn ratkaisun uudelleenkäyttö järkevästi on ollut lähes mahdotonta.

Power BI -raportin kuution pystyy toki siirtämään Azure Analysis Services -kuutioksi pienen kikkailun jälkeen, mutta ETL-työkalulla eli Power Queryllä toteutettuja datasettejä ei ole voinut uudelleenkäyttää muuten kuin kopioimalla M-koodi raportista toiseen. Power BI Dataflows poistaa tämän tuskan! Sillä toteutettu Power Query -datasetti on helposti liitettävissä toisiin Power BI -raportteihin sekä myös muihin Azure Data Platform -tuotteisiin. Väitän, että tällä ratkaisulla pystytään säästämään melkoinen määrä aikaa ja rahaa yrityksissä, joissa Power BI on laajasti käytössä. Aikaa jää enemmän tiedon analysointiin, kun data on valmiiksi pureskeltu ja jaettu Dataflow:n kautta.

Kuinka Power BI DataFlows otetaan käyttöön?

Teknisestä näkökulmasta Power BI Dataflows on irrallinen Power Query -prosessi, joka toimii Power BI -palvelussa. Yksi Dataflow voi koostua useammasta erillisestä tai linkitetystä tietojoukosta. Näitä tietojoukkoja voi ottaa helposti käyttöön Power BI -raportissa Power BI Dataflows -datalähteen kautta. Preview-vaiheessa ollut datalähde on nyt virallisesti saatavilla Power BI Desktopin April 2019 -julkaisussa (ks. kuva)

Oletusasetuksilla Dataflow tallentaa tiedot Power BI:n sisäiseen storageen ja siihen ei ole pääsyä muuten kuin Dataflow:n kautta. Tämä on kuitenkin mahdollista muuttaa niin että data tallennetaan organisaation Azure Data Lake Storage Gen2:een, mikä taas avaa ovet datan käyttämiseen myös muilla Azuren työkaluilla. Data Laken käyttö vaatii tietysti voimassaolevan Azure-tilauksen. Hyvät ohjeet ADLS Gen2:n liittämiseen löytyy täältä. Kun ADLS Gen2 on luotu, asetettu tarvittavat oikeudet Power BI Service, Power BI Premium ja Power Query -tunnuksille sekä Power BI admin -portaalin kautta liitetty Data Lake käyttäjän Power BI -tenanttiin, näyttää lopputulos tältä:

Power BI Dataflow ADLS Gen2:ssa

Miten data sitten tallentuu ADLS Gen2:een? Testasin tätä yksinkertaisella esimerkillä ja siirsin Power BI -raportista Calendar-taulun Dataflow-datasetiksi.

Power Query -editori on lähes samanlainen kuin Power BI Desktop -työkalussa. Helppo tapa siirtää koodi desktopista on käyttää Power Queryn advanced-editoria. Ohessa kuva Calendar-taulun editointinäkymästä siirron jälkeen.

Kun datasetti on valmis pitää se tietysti prosessoida ennen kuin data tallentuu Data Lakeen. Prosessointi on lähes identtinen verrattuna Power BI -datasetin vastaavaan. Prosessoinnin voi tehdä kertaluonteisesti tai sitten ajastaa.

Microsoftin dokumentaation mukaan data tallentuu ADSL Gen2:een CDM (Common Data Model) -rakenteeseen. Model.json sisältää datan metatiedot ja kukin datasetti on omassa kansiossa csv-tiedostoina (ks. kuva alla).

Calendar-demossa datarakenne ja hakemistot näkyvät alla. Huomattava on että model.json:lla on oma hakemisto josta löytyy tiedoston versiohistoria (model.json.snapshots). 

Calendar-data on tallennettu hakemistoon Calendar.csv.snapshots. Datasta tallentuu useita eri versioista. Eli jokainen datan päivitys luo uuden version, ja model.json-tiedostossa on partitions-kohdassa viittaus viimeisimpään versioon. Nykyisestä Dataflow:n versiosta tähän ei löydy mitään konfigurointivaihtoehtoja eikä Microsoftin dokumentaatiossa ole näistä vielä mitään mainintaa. Ehkä "snapshottien" määrää ja muita vastaavia voi säätää Dataflow:n tulevissa päivityksissä.

Power BI Dataflow -lisensointi

Power BI Dataflow tuntuu olevan jo kohtalaisen valmis kokonaisuus, ja suosittelen ehdottomasti sen testaamista. Huomattava on kuitenkin, että kaikki samat datalähteet mitä löytyy Power BI Desktopista eivät vielä ole tuettuna Dataflow:ssa. Lista tällä hetkellä tuetuista lähteistä löytyy täältä. Lisäksi Dataflow toimii Power BI Pro -lisenssillä, mutta jos käytössä on Power BI Premium, pääsee nauttimaan sen kaikista ominaisuuksista.

Oheisessa taulukossa on tällä hetkellä tiedossa olevat erot ominaisuuksissa lisenssin mukaan:

Milloin hyödyt Power BI Dataflow:n käytöstä?

Loppuun vielä ajatuksia siitä missä tilanteissa Dataflow:ta kannattaisi käyttää:

  • Geneeristen datasettien, kuten dimensioiden toteuttaminen. Esim. aikadimensiot, organisaatiorakenteet, kustannuspaikat, tilihierarkiat, jne.
  • Excel-tiedostot, jotka on tallennettu esim. Teamsiin tai Sharepoint-onlineen. Monesti näitä tarvitsevat myös muut ja on paljon helpompaa ottaa datasetti käyttöön suoraan Dataflow:sta.
  • Tilanteet, joissa alkuperäiseen datasettiin ei ole mahdollista päästää useita käyttäjiä tekemään raskaita kyselyitä samanaikaisesti.
  • Tilanteet, joissa Power BI -raporttien toteuttajilla ei ole riittävää osaamista eivätkä he tunne datalähteen liiketoimintalogiikkaa.
  • Silloin, kun halutaan varmistaa, että mitään ylimääräistä ja tietoturvan kannalta riskialtista dataa ei päädy raporteille ja analyyseihin. Näissä tilanteissa tarjotaan valmiiksi käsitellyt datasetit Dataflow:n kautta raporteille.

Kaipaatko tukea Power BI:n käyttöönotossa tai hyödyntämisessä? Ota yhteyttä ja keskustellaan, kuinka voimme auttaa!

DB Pro Services

Marko Somppi, CEO, Partner

marko.somppi@dbproservices.fi+358 50 499 9606

Luo kotisivut ilmaiseksi! Tämä verkkosivu on luotu Webnodella. Luo oma verkkosivusi ilmaiseksi tänään! Aloita