Power BI Dataflows – enemmän aikaa tiedon analysointiin

Jani Savolainen

Power BI Dataflows – enemmän aikaa tiedon analysointiin

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)

Power BI Desktopin April 2019 -versio


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 preview Admin-portaalissa

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.

Esimerkki Power BI Dataflow -datasetistä


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.

Power BI - Power Query Advanced-editori


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).

ADSL Gen2:een CDM (Common Data Model)


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).

Power BI Dataflow -esimerkkidemon datarakenne ja hakemistot


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 -esimerkkidemon snapshotteja

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:

Dataflow Capability Pro Premium
Connectivity All connectors to all sources All connectors to all sources
Storage 10 GB per user 100 TB for P1 or greater nodes
Data ingestion Serial ingestion of entities, making data refresh longer Parallel ingestion of entities
Incremental updates Not available Available
References to entities in the same
workspace
Not available Available, allowing the creation of complex data prep processes using multiple dataflows
References to entities across
workspaces
Not available Available, allowing full data consistency across the whole data estate
Calculation engine Not available, since entities cannot refer to other entities, computed entities cannot be created Available, allowing computed entities for complex data prep projects with multiple cleansing and enrichment steps
Refresh rates Up to 8 times a day Up to 48 times a day
Automated Machine Learning
(preview)
Not available Available
Cognitive Services (preview) Not available Available

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

Ota yhteyttä