Jaa kautta


Inkrementaalisen päivityksen käyttö datavirroilla

Datavirtojen avulla voit tuoda suuria määriä dataa Power BI:hen tai organisaatiosi tarjoamaan tallennustilaan. Joissain tapauksissa ei kuitenkaan ole käytännöllistä päivittää täydellistä lähdedataa jokaisessa päivityksessä. Hyvä vaihtoehto on inkrementaalinen päivitys, joka tarjoaa seuraavat hyödyt datavirroille:

  • Päivitys tapahtuu nopeammin: Vain muutetut tiedot täytyy päivittää. Esimerkiksi päivitä vain viimeiset viisi päivää 10 vuoden datavirrasta.
  • Päivitys on luotettavampaa: Esimerkiksi ei ole välttämätöntä ylläpitää pitkäaikaisia yhteyksiä epävakaisiin lähdejärjestelmiin.
  • Resurssien kulutus vähenee: Vähemmän päivitettävää dataa vähentää muistin ja muiden resurssien kokonaiskulutusta.

Inkrementaalinen päivitys on saatavilla Power BI:ssä luoduissa tietovirroissa ja Power Appsissa luoduissa datavirroissa. Tässä artikkelissa näytetään Power BI:n näyttöjä, mutta nämä ohjeet koskevat Power BI:ssä tai Power Appsissa luotuja tietovirtoja.

Note

Kun taulukon skeema analyyttisessa datavirtauksessa muuttuu, tehdään täydellinen päivitys, jotta varmistetaan, että kaikki tuloksena oleva data vastaa uutta skeemaa. Tämän seurauksena kaikki vähitellen tallennettu data päivittyy ja joissain tapauksissa, jos lähdejärjestelmä ei säilytä historiallista dataa, se katoaa.

Kuvakaappaus inkrementaalisesta päivitysasetuksista, joita käytetään datavirtojen päivittämiseen.

Power BI:ssä luotujen tietovirtojen inkrementaalinen päivitys edellyttää, että datavirta sijaitsee työtilassa Premium-kapasiteetissa. Power Appsin inkrementaalinen päivitys vaatii Power Appsin sovelluskohtaisia tai käyttäjäkohtaisia liittymiä, ja se on käytettävissä vain datavirtoihin, joissa kohde on Azure Data Lake Storage.

Joko Power BI:ssä tai Power Appsissa inkrementaalinen päivitys edellyttää, että datavirtaan syötetyissä lähteissä on DateTime-kenttä, johon inkrementaalinen päivitys voi suodattaa.

Configuring incremental refresh for dataflows

Datavirta voi sisältää useita tauluja. Inkrementaalinen päivitys asetetaan taulukkotasolla, jolloin yksi datavirta voi säilyttää sekä täysin päivitetyt että asteittain päivitetyt taulukot.

Asteittain päivitetyn taulukon perustamiseksi aloita asettamalla taulusi kuten minkä tahansa muun taulukon.

Kun datavirta on luotu ja tallennettu, valitse taulukkonäkymästä inkrementaalinen päivitys , kuten seuraavassa kuvassa näkyy.

Kuvakaappaus Power BI:stä, jossa korostetaan datavirtojen inkrementaalista virkistyskuvaketta.

Kun valitset kuvakkeen, näkyviin tulee inkrementaalinen päivitysasetusten ikkuna. Käynnistä inkrementaalinen päivitys.

Kuvakaappaus inkrementaalisen virkistysasetusten valintaikkunasta, jossa inkrementaalinen päivitys on päällä.

Seuraava lista selittää asetukset inkrementaalisen päivitysasetusten ikkunassa.

  • Inkrementaalinen päivitys päälle/pois -kytkin: Kytkee inkrementaalisen päivityskäytännön päälle tai pois pöydälle.

  • Suodatinkentän pudotusvalikko: Valitsee kyselykentän, jossa taulukko suodatetaan asteituksille. Tämä kenttä sisältää vain DateTime-kentät. Et voi käyttää inkrementaalista päivitystä, jos taulukossasi ei ole DateTime-kenttää.

    Tärkeää

    Valitse muuttumaton päivämääräkenttä inkrementaalisen päivityssuodattimen kohdalla. Jos kentän arvo muuttuu (esimerkiksi päivämäärän muokattu kenttä), tämä muutos voi johtaa päivitysvirheisiin, koska datassa on päällekkäiset arvot .

  • Tallenna/päivitä rivit menneisyydestä: Edellisen kuvan esimerkki havainnollistaa näitä seuraavia asetuksia.

    Tässä esimerkissä määrittelemme päivityskäytännön, joka tallentaa viiden vuoden tiedot yhteensä ja päivittää vähitellen 10 päivän dataa. Oletetaan, että taulukko päivitetään päivittäin, seuraavat toimenpiteet suoritetaan jokaiselle päivitystoiminnolle:

    • Lisää uusi päivä dataa.

    • Päivitä 10 päivää, nykyiseen päivämäärään asti.

    • Poista kalenterivuodet, jotka ovat vanhempia kuin viisi vuotta ennen nykyistä päivämäärää. Esimerkiksi, jos nykyinen päivämäärä on 1. tammikuuta 2019, vuosi 2013 poistetaan.

    Ensimmäisen datavirran päivitys voi kestää hetken tuoda kaikki viisi vuotta, mutta myöhemmät päivitykset valmistuvat todennäköisesti paljon nopeammin.

  • Tunnista datan muutoksia: 10 päivän asteittainen päivitys on paljon tehokkaampi kuin täysi viiden vuoden päivitys, mutta saatat pystyä vielä paremmin. Kun valitset Tunnista tiedot muutokset -valintaruudun, voit valita päivämäärä/aika-sarakkeen, joka tunnistaa ja päivittää vain ne päivät, jolloin data on muuttunut. Tämä olettaa, että tällainen sarake on lähdejärjestelmässä, mikä on tyypillisesti auditointitarkoituksiin. Tämän sarakkeen enimmäisarvo arvioidaan jokaisen lisäävän alueen ajanjakson osalta. Jos tiedot eivät ole muuttuneet viimeisen päivityksen jälkeen, jaksoa ei tarvitse päivittää. Esimerkissä tämä voisi edelleen vähentää päivien määrää asteittain kymmenestä ehkä kahteen.

    Vihje

    Nykyinen rakenne edellyttää, että sarakke, jota käytetään tietojen muutosten havaitsemiseen, säilytetään ja tallennetaan muistiin. Saatat haluta harkita jotakin seuraavista tekniikoista kardinaalisuuden ja muistinkulutuksen vähentämiseksi:

    • Säilytä vain tämän sarakkeen maksimiarvo päivityshetkellä, esimerkiksi käyttämällä Power Query -funktiota.
    • Vähennä tarkkuutta tasolle, joka on hyväksyttävää päivittämistaajuusvaatimuksesi mukaan.
  • Päivitä vain täydelliset jaksot: Kuvittele, että päivitys on aikataulutettu joka päivä klo 4:00. Jos lähdejärjestelmään ilmestyy dataa päivän ensimmäisten neljän tunnin aikana, sitä ei ehkä halua ottaa huomioon. Jotkut liiketoimintamittarit, kuten öljy- ja kaasuteollisuuden tynnyrimäärät päivässä, eivät ole käytännöllisiä tai järkeviä ottaa huomioon osittaisten päivien perusteella.

    Toinen esimerkki siitä, että vain täydellisten jaksojen päivittäminen on sopivaa, on rahoitusjärjestelmän tietojen päivittäminen. Kuvittele rahoitusjärjestelmä, jossa edellisen kuukauden tiedot hyväksytään kuukauden 12. kalenteripäivänä. Voit asettaa asteittaisen vaihteluvälin yhteen kuukauteen ja ajoittaa päivityksen toimimaan kuukauden 12. päivänä. Kun tämä vaihtoehto on valittu, järjestelmä päivittää tammikuun tiedot (viimeisin täydellinen kuukausijakso) 12. helmikuuta.

Note

Datavirran inkrementaalinen päivitys määrittää päivämäärät seuraavan logiikan mukaisesti: jos päivitys on aikataulutettu, datavirtojen inkrementaalinen päivitys käyttää päivityspolitiikassa määriteltyä aikavyöhykettä. Jos päivitysaikataulua ei ole, inkrementaalinen päivitys käyttää aikaa, jonka tietokone suorittaa päivitystä.

Kun inkrementaalinen päivitys on konfiguroitu, datavirta muuttaa automaattisesti kyselysi sisältämään suodatuksen päivämäärän mukaan. Jos datavirta on luotu Power BI:ssä, voit myös muokata automaattisesti luotua kyselyä käyttämällä Power Queryn edistynyttä editoria hienosäätääksesi tai räätälöidäksesi päivitystä. Lue lisää inkrementaalisesta päivityksestä ja sen toiminnasta seuraavista osioista.

Note

Kun muokkaat datavirtaa, Power Query -editori yhdistyy suoraan tietolähteeseen eikä näytä välimuistissa olevaa tai suodatettua dataa sen jälkeen, kun inkrementaalinen päivityskäytäntö käsittelee sen. Tarkistaaksesi datavirran sisällä välimuistissa olevan datan, yhdistä Power BI Desktopista datavirtaan sen jälkeen, kun olet konfiguroinut inkrementaalisen virkistyskäytännön ja päivittänyt datavirran.

Inkrementaalinen päivitys ja linkitetyt taulukot vs. lasketut taulukot

Linkitetyissä taulukoissa inkrementaalinen päivitys päivittää lähdetaulun. Koska linkitetyt taulut ovat vain osoitin alkuperäiseen taulukkoon, inkrementaalinen päivitys ei vaikuta linkitettyyn taulukkoon. Kun lähdetaulu päivitetään sen määritellyn päivityskäytännön mukaisesti, minkä tahansa linkitetyn taulun tulee olettaa lähteen tietojen olevan päivitettyjä.

Lasketut taulukot perustuvat kyselyihin, jotka ajavat datavarastossa, joka voi olla toinen datavirta. Näin ollen lasketut taulukot käyttäytyvät samalla tavalla kuin linkitetyt taulukot.

Koska lasketut ja linkitetyt taulukot käyttäytyvät samalla tavalla, vaatimukset ja konfigurointivaiheet ovat molemmille samat. Yksi ero on, että lasketuissa taulukoissa tietyissä kokoonpanoissa inkrementaalinen päivitys ei voi suorittaa optimoitua osiointien rakentamistavan vuoksi.

Vaihtelu inkrementaalisesta täyden päivityksen välillä

Datavirrat tukevat päivityskäytännön muuttamista inkrementaalisen ja täyden päivityksen välillä. Kun muutos tapahtuu jompaan kumpaan suuntaan (täydestä asteittaiseen tai asteittaiseen täyteen), muutos vaikuttaa datavirtaan seuraavan päivityksen jälkeen.

Kun siirrät datavirran täydestä virkistysajasta inkrementaaliseen, uusi päivityslogiikka päivittää datavirran noudattamalla päivitysikkunaa ja inkrementtiä inkrementaalisten päivitysasetusten mukaisesti.

Kun siirrät datavirran inkrementaalisesta täyden päivityksen tilaan, kaikki inkrementaalisessa päivityksessä kertynyt data korvaa täydessä päivityksessä määritellyn käytännön. Sinun täytyy hyväksyä tämä toimenpide.

Aikavyöhykkeen tuki asteittaisessa päivityksessä

Datavirran inkrementaalinen päivitys riippuu siitä, kuinka kauan se suoritetaan. Kyselyn suodatus riippuu siitä, minä päivänä se suoritetaan.

Näiden riippuvuuksien huomioimiseksi ja datan johdonmukaisuuden varmistamiseksi datavirtojen inkrementaalinen päivitys toteuttaa seuraavan heuristiikan päivitysskenaarioille :

  • Jos järjestelmässä määritellään aikataulutettu päivitys, inkrementaalinen päivitys käyttää aikavyöhykkeiden asetuksia aikataulutetun päivitysosiosta. Tämä prosessi varmistaa, että riippumatta siitä, millä aikavyöhykkeellä datavirran päivittäjä on, se on aina yhdenmukainen järjestelmän määritelmän kanssa.

  • Jos aikataulutettua päivitystä ei ole määritelty, datavirrat käyttävät käyttäjän tietokoneen aikavyöhykettä, joka tekee päivityksen.

Inkrementaalinen päivitys voidaan kutsua myös API:n avulla. Tässä tapauksessa API-kutsu voi pitää aikavyöhykeasetuksen, jota käytetään päivityksessä. API:n käyttö voi olla hyödyllistä testauksessa ja validoinnissa.

Inkrementaalisen päivityksen toteutuksen yksityiskohdat

Datavirrat käyttävät osiointia inkrementaaliseen virkistykseen. Datavirtojen inkrementaalinen päivitys säilyttää vähimmäismäärän osioita päivityspolitiikan vaatimusten täyttämiseksi. Vanhat osiot, jotka menevät kantaman ulkopuolelle, poistetaan, mikä ylläpitää pyörivää ikkunaa. Osiot yhdistetään opportunistisesti, mikä vähentää tarvittavien osioiden kokonaismäärää. Tämä minimiosuus osioita parantaa pakkausta ja joissain tapauksissa voi parantaa kyselyjen suorituskykyä.

Tämän osion esimerkit jakavat seuraavan päivityskäytännön:

  • Kaupparivit viimeisen neljänneksen aikana
  • Päivitä rivit viimeisen 10 päivän aikana
  • Havaitse datan muutokset = Väärin
  • Päivitä vain täysiä päiviä = Totta

Yhdistämisosiot

Tässä esimerkissä päiväosiot yhdistetään automaattisesti kuukausitasolle, kun ne menevät inkrementaalisen alueen ulkopuolelle. Jaksot inkrementaalisella alueella täytyy ylläpitää päivittäisellä tarkkuudella, jotta vain nämä päivät voidaan päivittää. Päivitystoiminto, jonka käyttöpäivä on 11.12.2016 , yhdistää marraskuun päivät, koska ne jäävät inkrementaalisen haarukan ulkopuolelle.

Kaavio, joka näyttää yhdistämisosiot datavirroissa.

Poista vanhat osiot

Vanhat väliseinät, jotka jäävät koko alueen ulkopuolelle, poistetaan. Päivitystoiminto, jonka käyttöpäivä on 2.1.2017 , pudottaa osion vuoden 2016 kolmannelle neljännekselle, koska se jää kokonaisalueen ulkopuolelle.

Kaavio, joka näyttää vanhojen osioiden pudottamisen datavirroissa.

Toipuminen pitkittyneestä viasta

Tämä esimerkki simuloi, kuinka järjestelmä toipuu sulavasti pitkäaikaisesta vikaantumisesta. Oletetaan, että päivitys ei käynnisty onnistuneesti, koska tietolähdekoodit vanhentuvat ja ongelman ratkaiseminen kestää 13 päivää. Lisäaikaväli on vain 10 päivää.

Seuraava onnistunut päivitysoperaatio, jonka käyttöpäivä on 15.1.2017, täytyy täyttää puuttuvat 13 päivää ja päivittää ne. Sen täytyy myös päivittää edelliset yhdeksän päivää, koska ne eivät olleet päivittyneet normaalissa aikataulussa. Toisin sanoen asteittainen vaihteluväli kasvaa 10 päivästä 22 päivään.

Seuraava päivitys, jonka käyttöpäivä on 16.1.2017, käyttää tilaisuutta yhdistää joulukuun päivät ja vuoden 2016 neljännen neljänneksen kuukaudet.

Kaavio, joka näyttää toipumisen pitkittyneestä datavirtojen vikaantumisesta.

Datavirran inkrementaalinen päivitys ja tietoaineistot

Datavirran inkrementaalinen päivitys ja datajoukon inkrementaalinen päivitys on suunniteltu toimimaan yhdessä. On hyväksyttävää ja tuettua, että datavirtassa on inkrementaalisesti virkistävä taulu, joka on ladattu kokonaan datajoukkoon, tai täysin ladattu taulu datavirtaan inkrementaalisesti datajoukkoon.

Molemmat lähestymistavat toimivat määrittelemiesi määritelmien mukaisesti päivitysasetuksissa. Lisätietoja: Inkrementaalinen päivitys Power BI Premiumissa

Tässä artikkelissa kuvattiin datavirtojen inkrementaalista päivitysta. Tässä on lisää artikkeleita, jotka saattavat olla hyödyllisiä:

Lisätietoja Power Querysta ja ajoitetusta päivityksestä on seuraavissa artikkeleissa:

Lisätietoja Common Data Modelista löydät sen yleiskatsausartikkelista: