Del via


Bruke trinnvis oppdatering med dataflyter

Med dataflyter kan du hente store mengder data til Power BI eller organisasjonens angitte lagringsplass. I noen tilfeller er det imidlertid ikke praktisk å oppdatere en fullstendig kopi av kildedata i hver oppdatering. Et godt alternativ er trinnvis oppdatering, som gir følgende fordeler for dataflyter:

  • Oppdatering skjer raskere: Bare data som er endret, må oppdateres. Oppdater for eksempel bare de siste fem dagene av en 10-årig dataflyt.
  • Oppdatering er mer pålitelig: Det er for eksempel ikke nødvendig å opprettholde langvarige tilkoblinger til flyktige kildesystemer.
  • Ressursforbruket reduseres: Mindre data for oppdatering reduserer det totale forbruket av minne og andre ressurser.

Trinnvis oppdatering er tilgjengelig i dataflyter som er opprettet i Power BI, og dataflyter som er opprettet i Power Apps. Denne artikkelen viser skjermer fra Power BI, men disse instruksjonene gjelder for dataflyter som er opprettet i Power BI eller i Power Apps.

Merk

Når skjemaet for en tabell i en analytisk dataflyt endres, finner det sted en fullstendig oppdatering for å sikre at alle de resulterende dataene samsvarer med det nye skjemaet. Som et resultat oppdateres eventuelle data som lagres trinnvis, og i noen tilfeller, hvis kildesystemet ikke beholder historiske data, går tapt.

Trinnvis oppdatering for dataflyter.

Bruk av trinnvis oppdatering i dataflyter som er opprettet i Power BI, krever at dataflyten befinner seg i et arbeidsområde i Premium-kapasitet. Trinnvis oppdatering i Power Apps krever Power Apps per app eller per bruker-abonnementer, og er bare tilgjengelig for dataflyter med Azure Data Lake Storage som mål.

I enten Power BI eller Power Apps krever trinnvis oppdatering at kildedata som inntatt i dataflyten, har et DateTime-felt der trinnvis oppdatering kan filtreres.

Konfigurere trinnvis oppdatering for dataflyter

En dataflyt kan inneholde mange tabeller. Trinnvis oppdatering er konfigurert på tabellnivå, slik at én dataflyt kan inneholde både fullstendig oppdaterte tabeller og trinnvis oppdaterte tabeller.

Hvis du vil konfigurere en trinnvis oppdatert tabell, starter du med å konfigurere tabellen på samme måte som en hvilken som helst annen tabell.

Når dataflyten er opprettet og lagret, velger du Trinnvis oppdatering Trinnvis oppdatering.i tabellvisningen, som vist i bildet nedenfor.

Ikon for trinnvis oppdatering for dataflyter.

Når du velger ikonet, vises vinduet innstillinger for trinnvis oppdatering. Aktiver trinnvis oppdatering.

Trinnvis oppdatering for dataflyter.

Listen nedenfor forklarer innstillingene i vinduet innstillinger for trinnvis oppdatering .

  • Aktiver/deaktivering av/på-bryter for trinnvis oppdatering: Aktiverer eller deaktiverer policyen for trinnvis oppdatering for tabellen.

  • Rullegardinliste for filterfelt: Velger spørringsfeltet som tabellen skal filtreres etter intervaller i. Dette feltet inneholder bare DateTime-felt. Du kan ikke bruke trinnvis oppdatering hvis tabellen ikke inneholder et DateTime-felt.

    Viktig

    Velg et uforanderlig datofelt for filteret for trinnvis oppdatering. Hvis feltverdien endres (for eksempel med et datoendret felt), kan dette føre til oppdateringsfeil på grunn av dupliserte verdier i dataene.

  • Lagre/oppdater rader fra fortiden: Eksemplet i det forrige bildet illustrerer disse neste innstillingene.

    I dette eksemplet definerer vi en oppdateringspolicy for å lagre fem år med data totalt og trinnvis oppdatere 10 dager med data. Forutsatt at tabellen oppdateres daglig, utføres følgende handlinger for hver oppdateringsoperasjon:

    • Legg til en ny dag med data.

    • Oppdater 10 dager frem til gjeldende dato.

    • Fjern kalenderår som er eldre enn fem år før gjeldende dato. Hvis gjeldende dato for eksempel er 1. januar 2019, fjernes året 2013.

    Den første dataflytoppdateringen kan ta litt tid å importere alle fem årene, men etterfølgende oppdateringer vil sannsynligvis bli fullført mye raskere.

  • Oppdage dataendringer: En trinnvis oppdatering på 10 dager er mye mer effektiv enn en fullstendig oppdatering på fem år, men du kan kanskje gjøre det enda bedre. Når du merker av for Identifiser dataendringer , kan du velge en dato/klokkeslett-kolonne for å identifisere og oppdatere bare dagene der dataene er endret. Dette forutsetter at en slik kolonne finnes i kildesystemet, som vanligvis er for overvåkingsformål. Maksimumsverdien for denne kolonnen evalueres for hver av periodene i det trinnvise området. Hvis disse dataene ikke har endret seg siden forrige oppdatering, er det ikke nødvendig å oppdatere perioden. I eksemplet kan dette ytterligere redusere dagene trinnvis oppdatert fra 10 til kanskje 2.

    Tips

    Gjeldende utforming krever at kolonnen som brukes til å oppdage dataendringer, beholdes og bufres i minnet. Du bør vurdere én av følgende teknikker for å redusere kardinalitet og minneforbruk:

    • Bevar bare den maksimale verdien for denne kolonnen på tidspunktet for oppdatering, kanskje ved hjelp av en Power Query-funksjon.
    • Reduser presisjonen til et nivå som er akseptabelt gitt kravene til oppdateringsfrekvensen.
  • Bare oppdater fullstendige perioder: Tenk deg at oppdateringen er planlagt å kjøre klokken 04:00 hver dag. Hvis data vises i kildesystemet i løpet av de første fire timene av den dagen, vil du kanskje ikke gjøre rede for det. Noen forretningsmålinger, som fat per dag i olje- og gassindustrien, er ikke praktiske eller fornuftige å ta hensyn til basert på delvise dager.

    Et annet eksempel der bare oppdatering av fullstendige perioder er aktuelt, er oppdatering av data fra et finansielt system. Tenk deg et finansielt system der data for forrige måned er godkjent den tolvte kalenderdagen i måneden. Du kan angi det trinnvise området til én måned og planlegge at oppdateringen skal kjøres den 12. dagen i måneden. Når dette alternativet er valgt, oppdaterer systemet januardata (den siste fullstendige månedlige perioden) den 12. februar.

Merk

Trinnvis oppdatering av dataflyt bestemmer datoer i henhold til følgende logikk: Hvis en oppdatering er planlagt, bruker trinnvis oppdatering for dataflyter tidssonen som er definert i oppdateringspolicyen. Hvis det ikke finnes noen tidsplan for oppdatering, bruker trinnvis oppdatering tiden fra datamaskinen som kjører oppdateringen.

Når trinnvis oppdatering er konfigurert, endrer dataflyten automatisk spørringen til å inkludere filtrering etter dato. Hvis dataflyten ble opprettet i Power BI, kan du også redigere den automatisk genererte spørringen ved hjelp av det avanserte redigeringsprogrammet i Power Query for å finjustere eller tilpasse oppdateringen. Les mer om trinnvis oppdatering og hvordan det fungerer i avsnittene nedenfor.

Merk

Når du redigerer dataflyten, kobler redigeringsprogrammet for Power Query til datakilden direkte og viser ikke dataene som bufres/filtreres i dataflyten etter at de er behandlet av policyen for trinnvis oppdatering. Hvis du vil kontrollere dataene som bufres i dataflyten, kobler du fra Power BI Desktop til dataflyten etter å ha konfigurert policyen for trinnvis oppdatering og oppdatering av dataflyten.

Trinnvis oppdatering og koblede tabeller kontra beregnede tabeller

For koblede tabeller oppdaterer trinnvis oppdatering kildetabellen. Siden koblede tabeller ganske enkelt er en peker til den opprinnelige tabellen, har trinnvis oppdatering ingen innvirkning på den koblede tabellen. Når kildetabellen oppdateres i henhold til den definerte oppdateringspolicyen, må alle koblede tabeller anta at dataene i kilden oppdateres.

Beregnede tabeller er basert på spørringer som kjører over et datalager, som kan være en annen dataflyt. Som sådan fungerer beregnede tabeller på samme måte som koblede tabeller.

Fordi beregnede tabeller og koblede tabeller fungerer på samme måte, er kravene og konfigurasjonstrinnene de samme for begge. En forskjell er at for beregnede tabeller, i enkelte konfigurasjoner, kan ikke trinnvis oppdatering kjøre på en optimalisert måte på grunn av måten partisjoner bygges på.

Endring mellom trinnvis og fullstendig oppdatering

Dataflyter støtter endring av oppdateringspolicyen mellom trinnvis og fullstendig oppdatering. Når en endring skjer i begge retninger (fullstendig til trinnvis eller trinnvis til full), påvirker endringen dataflyten etter neste oppdatering.

Når du flytter en dataflyt fra full oppdatering til trinnvis, oppdaterer den nye oppdateringslogikken dataflyten ved å følge oppdateringsvinduet og øke som definert i innstillingene for trinnvis oppdatering.

Når du flytter en dataflyt fra trinnvis til full oppdatering, overskrives alle data som akkumuleres i den trinnvise oppdateringen av policyen som er definert i den fullstendige oppdateringen. Du må godkjenne denne handlingen.

Støtte for tidssone i trinnvis oppdatering

Trinnvis oppdatering av dataflyten er avhengig av tidspunktet den kjøres på. Filtreringen av spørringen er avhengig av dagen den kjøres.

For å imøtekomme disse avhengighetene og for å sikre datakonsekvens implementerer trinnvis oppdatering for dataflyter følgende heuristikk for oppdatering nå scenarier:

  • I tilfelle en planlagt oppdatering er definert i systemet, bruker trinnvis oppdatering tidssoneinnstillingene fra den planlagte oppdateringsdelen. Dette sikrer at uansett tidssone personen som oppdaterer dataflyten er i, vil den alltid være i samsvar med systemets definisjon.

  • Hvis ingen planlagt oppdatering er definert, bruker dataflyter tidssonen fra datamaskinen til brukeren som utfører oppdateringen.

Trinnvis oppdatering kan også aktiveres ved hjelp av API-er. I dette tilfellet kan API-kallet inneholde en tidssoneinnstilling som brukes i oppdateringen. Bruk av API-er kan være nyttig for test- og valideringsformål.

Trinnvise oppdateringsimplementeringsdetaljer

Dataflyter bruker partisjonering for trinnvis oppdatering. Trinnvis oppdatering i dataflyter beholder minimum antall partisjoner for å oppfylle kravene til oppdateringspolicyer. Gamle partisjoner som går utenfor området, blir fjernet, noe som opprettholder et rullende vindu. Partisjoner flettes opportunistisk, noe som reduserer det totale antallet partisjoner som kreves. Dette forbedrer komprimeringen, og kan i noen tilfeller forbedre spørringsytelsen.

Eksemplene i denne delen deler følgende oppdateringspolicy:

  • Lagre rader i siste kvartal 1
  • Oppdatere rader de siste 10 dagene
  • Oppdage dataendringer = Usann
  • Bare oppdater fullstendige dager = Sann

Slå sammen partisjoner

I dette eksemplet flettes dagpartisjoner automatisk til månedsnivå etter at de er utenfor trinnvis område. Partisjoner i det trinnvise området må opprettholdes ved daglig detaljnivå, slik at bare disse dagene kan oppdateres. Oppdateringsoperasjonen med Kjør dato 11.12.2016 slår sammen dagene i november, fordi de faller utenfor det trinnvise området.

Slå sammen partisjoner i dataflyter.

Slipp gamle partisjoner

Gamle partisjoner som faller utenfor totalområdet, fjernes. Oppdateringsoperasjonen med Kjør dato 02.01.2017 faller partisjonen for tredje kvartal 2016 fordi den faller utenfor det totale området.

Slipp gamle partisjoner i dataflyter.

Gjenoppretting etter langvarig feil

Dette eksemplet simulerer hvordan systemet gjenoppretter på en grasiøs måte etter langvarig feil. La oss si at oppdatering ikke kjører fordi legitimasjonen for datakilden er utløpt, og at problemet tar 13 dager å løse. Det trinnvise området er bare 10 dager.

Den neste vellykkede oppdateringsoperasjonen, med Kjøredato 15.01.2017, må fylle tilbake de manglende 13 dagene og oppdatere dem. Den må også oppdatere de foregående ni dagene fordi de ikke ble oppdatert etter den normale tidsplanen. Det trinnvise området økes med andre ord fra 10 til 22 dager.

Den neste oppdateringsoperasjonen, med kjørsdato 16.01.2017, benytter anledningen til å slå sammen dagene i desember og månedene i 4. kvartal 2016.

Gjenoppretting etter langvarig feil i dataflyter.

Trinnvis oppdatering av dataflyt og datasett

Trinnvis oppdatering av dataflyt og trinnvis oppdatering av datasett er utformet for å fungere sammen. Det er akseptabelt og støttes for å ha en trinnvis oppdateringstabell i en dataflyt, fullstendig lastet inn i et datasett eller en fullstendig lastet tabell i en dataflyt trinnvis lastet inn i et datasett.

Begge fremgangsmåtene fungerer i henhold til de angitte definisjonene i oppdateringsinnstillingene. Mer informasjon: Trinnvis oppdatering i Power BI Premium

Se også

Denne artikkelen beskrev trinnvis oppdatering for dataflyter. Her er noen flere artikler som kan være nyttige:

Hvis du vil ha mer informasjon om Power Query og planlagt oppdatering, kan du lese følgende artikler:

Hvis du vil ha mer informasjon om Common Data Model, kan du lese oversiktsartikkelen: