Skip to content

Power BI – Dynamic subscriptions

Mistä on kyse ja miten tähän on tultu?

Alkuvuodesta Power BI-palveluun ilmestyi uusi raporttien tilausmuoto, Dynamic subscriptions eli jollain tavoin suomennettuna dynaamisesti määritettävä raporttien tilausprosessi. Subscriptionit eli raporttien tilaukset esimerkiksi sähköpostiin ovat olleet olemassa Power BI:ssä pitkään, mutta kovin laajaa suosiota nämä eivät ole nauttineet. Uusin dynaaminen malli tosin saattaa muuttaa suhtautumisen tähän ominaisuuteen. Huomioi, että kirjoitushetkellä dynaaminen malli on vielä esikatselussa, joten ominaisuudet ovat rajatummat kuin varsinaisessa julkaisussa myöhemmin tai toiminnassa saattaa olla epäloogisuuksia. Jos sinulle on Qlikin ratkaisut tutumpia vielä tässä vaiheessa, Power BI:n subscriptioneita voisi verrata esimerkiksi Qlikin nPrinting-ratkaisuun.

Ensimmäisenä tarjottiin Power BI raporttien tilaus haluttuna ajankohtana ja lähetystiheytenä sähköpostiin, mutta viestin mukana tullut kuva raportista oli perusnäkymä sivusta, johon ei ollut mahdollista määrittää rajauksia tai valintoja. Tarjolla oli toki linkki varsinaiseen raporttiin Power BI-palvelussa, mutta tämän kaltainen viesti liitteineen ei kovinkaan usein täyttänyt tarpeita. Myöhemmin saatiin mahdollisuus vaikuttaa lähetettyyn sisältöön esimerkiksi vastaanottajan perusteella rajattuna, kuten vaikkapa vastaanottajan omaan asiakasdataan tai kirjauksiin liittyvään informaatioon. Tämä ei kuitenkaan ollut mahdollista toteuttaa perinteisiin Power BI-raportteihin, vaan koski ainoastaan sivutettuja raportteja (Paginated reports), jotka juontavat juurensa SQL Servereiden Report Server-teknologiaan. Lisäksi aluksi tämä oli saatavilla ainoastaan Premium-ympäristöihin, mutta nykyään saatavilla myös muilla lisensointimalleilla.

Miten dynaaminen tilausmalli rakentuu?

Mitä uusi dynaaminen malli sitten tarjoaa uutta ja mielenkiintoista tähän konseptiin? Lähdetään käymään esimerkkien avulla ratkaisua läpi. Ensin tietysti pitää luoda tietomalli ja raportti. Esimerkkitaupauksena meillä on tuntikirjauksiin liittyvä raportti ja tavoitteena dynaamisen tilausmallin avulla on lähettää kaikille tuntikirjauksia tekeville työntekijöille sähköpostitse raportti sunnuntaisin, josta hän näkee maanantaina töihin tullessaan, onko viime viikon tunnit kirjattu ja vaikkapa millainen liukumasaldo hänelle on kertynyt.

Tietomalli on hyvin yksinkertainen, joka sisältää kalenteritaulun ja tuntikirjaukset.

Jotta dynaamisesti määrittyvä tilaus voi toimia, pitää tietomallin datasta löytyä sähköpostiosoite. Esimerkkimallissa tämä on suoraan tapahtumataulussa “Mail” sarakkeessa, mutta sähköpostiosoite voi olla myös erillisessä taulussa. Tällöin sähköpostiosoitteeseen pitää olla linkitettynä jokin avaintieto, joka löytyy myös tietomallin toisesta taulusta, esimerkiksi tapahtumataulusta. Tämä voi olla vaikkapa kustannuspaikkatieto, jolloin erillisessä taulussa on sähköpostiosoitteen rinnalla kustannuspaikkatieto. Näin ollen dynaamisessa tilauksessa näytetään vain kyseisen kustannuspaikan mukaan rajattu data käyttäjälle.

Kun tietomalli ja raportti on julkaistu Power BI-palveluun, voimme muodostaa sille tilauksen. Kun raportin avaa, yläpalkista valitaan painike “Subscribe to report”. Suomenkielisessä käyttöliittymässä painikkeessa lukee “Tilaa raportti”.

Avautuvasta valikosta löytyy ylempää vanha tapa, joka on enemmänkin sähköpostimuistutus ja linkki raporttiin, kuten jo todettiin. Alempana on uusi, dynaaminen tilaustapa eli valitaan se (Dynamic per recipient). Valintalaatikko kertoo (kirjoitushetkellä) myös sen, että ominaisuus on esikatselussa (preview).

Tilausmäärityksen ensimmäisessä vaiheessa valitaan tietomalli, josta tulee löytyä myös sähköpostin lähettämiseen liittyvä data. Tämä voi olla pakollisen osoitteen lisäksi myös viestin otsikko tai viestin liitteenä lähetetty raporttisivun muoto (pdf tai pptx). Lisäksi datassa voidaan määrittää vastaanottajakohtaisesti myös mikä raportin sivu lähetetään.

Seuraavassa vaiheessa määritetään, mistä edellä mainitut tiedot löytyvät tietomallista ja valitaan ne, jotka halutaan viestin rakenteeseen mukaan. Lisäksi valitaan myös ne tiedot, millä liitetään (map) vastaanottajatieto raportin dataan. Jos käytössä olisi erillinen taulu, jossa on sähköpostiosoite ja vaikkapa kustannuspaikkatieto, valittaisiin molemmat. Tässä esimerkissä tarvitsemme vain sähköpostiosoitten, koska se on suoraan tapahtumadatassa mukana, eikä meillä ole tarkoitus dynaamisesti muodostaa muita tietoja seuraavassa vaiheessa. Jos haluat lisätä tilauksen kautta meneville raporteille rajauksia, sen voi tehdä Filters-paneelista samaan tapaan kuin esimerkiksi Power BI Desktopissa. Samaan tapaan Build-välilehdellä on mahdollisuus määritellä valituille kentille aggregointisääntöjä.

Kolmantena vaiheena on sähköpostin perustietojen määritys. Esimerkiksi vastaanottajat voidaan määrittää käsipelillä, mutta todennäköisimmin valitsemme vastaanottajiksi ne sähköpostiosoitteet, jotka löytyvät tietomallista. Avaamme siis pudotusvalikon ja valitsemme “Get from data” osuudesta halutun tietueen, josta sähköpostiosoitteet löytyvät.

Loput tiedot voi määrittää käsin tai nuolella osoitetuissa kohdissa on mahdollista käyttää edellisen kuvan vastaavaa “Get from data”-toimintoa, kunhan tarvittavat kentät on valittu aiemmassa vaiheessa mukaan. Link to report in Power BI-valintaan liittyen sellainen huomio, jos vastaanottajalle on annettu oikeus raporttiin sovelluksen kautta, eli toisin sanoen ei ole oikeutta työtilaan tai työtilasta käsin ei ole erikseen annettu oikeutta raportille, kannattaa valinta laittaa pois päältä. Sähköpostissa oleva linkki ei tällöin toimi. Lisää aiheesta lopun yhteenvedossa, jossa kerrotaan tämän hetkisistä rajoituksissa. Report page preview on hyvä ottaa pois päältä, jos sisällössä on sensitiivisempää tietoa ja halutaan, että vastaanottajan pitää avata liite katsellakseen tietoja.

Seuraavaksi päästään määrittämään itse sisältöä, miten se rajataan käyttäjille. Jos raportilla on olemassa sivu- tai raporttikohtaisia rajauksia oikean laidan filter-paneelissa, tulee valittavaksi Pre-existing filters-kohta ja halutaanko olemassa olevia rajauksia käyttää vai ei. Tässä esimerkissä emme käytä, sillä raportilla oleva rajaus ei saa vaikuttaa tilattuun raporttisisältöön.

Toisessa kohdassa määritetään, miten sähköpostiosoite tai siihen liitännäinen mäppäys linkitetään tietomallin dataan. Kustannuspaikkaesimerkissä laittaisimme ensimmäiseen valintaan tapahtumataulun kustannuspaikkakentän ja toiseen valintaan erillisen taulun kustannuspaikkakentän. Näin tavallaan luodaan relaatio erillisen taulun ja tapahtumadatan väliin, jolloin sähköpostiosoitteella saadaan rajattua vastaanottajalle kuuluvan kustannuspaikan tiedot. Meidän esimerkissämme valitsemme saman sähköpostitietueen molempiin, koska erillistä taulua ei ole.

Lopuksi määritetään tilauksen aikataululliset asiat ja tämän jälkeen voidaan yhteenvedon jälkeen päättää tilausprosessin luominen.

Sähköpostiin ilmestyy määritettynä tilausajankohtana viesti, jossa on tilausmäärityksessä tehtyjen valintojen mukaan tiedot sekä kiinteä kuva halutuilla rajauksilla. Näin esimerkin valossa minä ja Tommi saamme omat tuntiraporttimme rajattuna sähköpostiin sekä tiedon kirjaamattomista päivistä, liukumista yms. ilman, että tarvitsee siirtyä Power BI-palveluun tarkastelemaan raporttia.

Alla olevassa kuvassa vielä Tommin sähköpostiin tipahtanut hänelle personoitu versio samasta raportista.

Yhteenveto ja esikatseluvaiheen rajoituksia

Monelle hieman jo meritoituneemmalle Power BI-käyttäjälle varmasti tulee ensimmäisenä mieleen, että tuohan toimii samaan tapaan kuin rivitasoinen suodatus (RLS). No ei ihan. Kyseessä on normaali filteröinti ja toki RLS:n voi lisätä tietomalliin ja käyttää tämän rinnalla, jos halutaan varmistua, että mitään epäolennaista tietoa ei tilauksen kautta mene vastaanottajalle.

No, mitä erilaisia käyttötapauksia tälle voisi olla? Ainakin tässä artikkelissa ollut tuntikirjausesimerkki ja muut datan keräämistä muistuttavat näkökulmat tuovat sekä ystävällisen muistutuksen kirjata puuttuvat asiat että nopean katsauksen kirjattuun dataan muiden mittareiden avulla. Toki on asioita, joita olisi säännöllisesti hyvä seurata. Näistä voisi sähköpostiin dynaamisella tilauksella pudottaa sopivin väliajoin raportin, josta pystyt nopeasti tsekkaamaan tilanteen missä tahansa oletkin. Erityyppistä myynnin seurantaa, höystettynä erilaisilla vertailuarvoilla aiempaan, voitaisiin lähettää päivä-/viikko-/kuukausirytmillä. Koska tilaukseen voi valita vain yhden raporttisivun (ainakin tässä vaiheessa), ei esimerkiksi kuukausittaista talouskatsausta kuukausipalaverin esimateriaaliksi ole kovin helppo toteuttaa. Toki yleiseen jakeluun tavallisimmilla mittareilla talousdatankin osalta voidaan tietoa jakaa.

Mielenkiintoisin käyttötapaus lienee kuitenkin ulkoiset sidosryhmät. Power BI:n datamallissa oleva sähköpostiosoite ei tarvitse olla organisaatiostasi, eikä osoitteeseen tarvitse olla liitettynä Power BI-lisenssiä. Käytännössä tämä todettiin omassa esimerkkiratkaisussamme siten, että korvasin datassa oman trilake-osoitteeni henkilökohtaisella gmail-osoitteella ja tilaus toimi aivan samoin kuin lisensoidulla trilake-osoitteella. Toki linkki Power BI-palveluun ei toimi, koska siellä tarvitaan aina lisenssi, mutta linkin pystyy jättämään pois asetuksissa, samoin kuin esikatselukuvan halutessaan. Tämän tyyppinen rajatulla datalla lähetetty staattinen raporttituloste (pdf tai pptx) saattaa olla itse asiassa todella käyttökelpoinen monessa “ulkoisessa” tapauksessa, kuten vaikka asiakkaalle lähetettävä automaattinen tuntilistaus tai myydyt artikkelit verrattuna edelliseen kauteen sekä vastavuoroisesti toimittajille lähetettävä yhteenveto toteumasta ja tulevien tarpeiden ennusteesta.

Joitakin rajoituksia tuli artikkelin kirjoittamisen yhteydessä havaittua ja osa on Microsoftin dokumentaatiossakin mainittu. Osa saattaa olla esikatseluvaiheen takia, mutta saa nähdä mitä ominaisuuksia virallisen julkaisun yhteydessä on edistetty. Ensinnäkin, kaikki normaalin raporttidatan lisänä oleva tilauksiin liittyvä data (sähköposti, otsikot jne.) täytyy olla samassa tietomallissa eli mäppäystietoja ei voi hakea eri lähteestä esimerkiksi toisesta tietomallista tai vaikkapa tietokannasta. Jos käyttää erillistä mäppäystaulua tai vastaavaa, taulua ei voi piilottaa tietomallissa, vaan sen pitää olla näkyvillä.

Vaikka tilausmallin luomisen yhteydessä määritellään vastaanottavat käyttäjät, samalla ei kuitenkin luoda käyttöoikeuksia raportille, vaan käyttöoikeudet raportille pitää luoda erikseen. Tässä kohtaa oikeudet piti olla työtilaan tai työtilan kautta raportille erikseen annetut oikeudet. Sovelluksessa annettu oikeus ei yksinään riitä. Tilauksen vastaanottajaksi ei myöskään pysty asettamaan Entra ID-ryhmää.

Ja ehkä oleellisimpana rajoituksena on, että joko Premium tai Fabric-tilaus tarvitaan. Normaali jaetun kapasiteetin ja Pro-lisenssien käyttäjät eivät voi dynaamisia tilauksia tehdä ainakaan toistaiseksi. Tilauksen luojalla pitää olla pääsy työtilaan, josta raporttia tilauksen perusteella jaetaan (muu kuin katseluoikeus). Esikatseluvaiheen aikana on huomioitava 50 tilauksen vastaanottajan maksimirajoitus.

Ajantasainen dokumentaatio aiheesta on luettavissa: Create a dynamic subscription for a Power BI report – Power BI | Microsoft Learn

Mieti yksi tai useampi käyttötapaus organisaatiosi raporttien jakamiskäytännöissä ja kokeile rohkeasti sopivan porukan kanssa, miten tämän tyyppinen personoitu sahköpostitse toimitettava raportti toimisi. Erityisesti, jos raportin luonne on sellainen, joka vaatii vastaanottajalta jonkinlaista tiedon syöttämistä tietyin aikavälein tai vastaanottajat ovat organisaatiosi ulkopuolella. Ja toki kuten aina, voimme olla myös avuksi tässä tai missä tahansa muissa datankäsittelyasioissa. Jäädään seuraamaan, mitä parannuksia virallinen versio tuo mukanaan, kun se aikanaan julkaistaan.