Brug af trinvis opdatering med dataflow

Med dataflow kan du overføre store mængder data til Power BI eller din organisations angivne lager. I nogle tilfælde er det dog ikke praktisk at opdatere en komplet kopi af kildedata i hver opdatering. Et godt alternativ er trinvis opdatering, hvilket giver følgende fordele for dataflow:

  • Opdateringen sker hurtigere: Det er kun de ændrede data, der skal opdateres. Opdater f.eks. kun de sidste fem dage i et 10-årigt dataflow.
  • Opdatering er mere pålidelig: Det er f.eks. ikke nødvendigt at vedligeholde langvarige forbindelser til flygtige kildesystemer.
  • Ressourceforbruget reduceres: Færre data, der skal opdateres, reducerer det samlede forbrug af hukommelse og andre ressourcer.

Trinvis opdatering er tilgængelig i dataflow, der er oprettet i Power BI, og dataflow, der er oprettet i Power Apps. I denne artikel vises skærmbilleder fra Power BI, men disse instruktioner gælder for dataflow, der er oprettet i Power BI eller i Power Apps.

Bemærk

Når skemaet for en tabel i et analytisk dataflow ændres, udføres der en fuld opdatering for at sikre, at alle de resulterende data stemmer overens med det nye skema. Derfor opdateres de data, der lagres trinvist, og i nogle tilfælde går alle data, der er gemt trinvist, tabt, hvis kildesystemet ikke bevarer historiske data.

Trinvis opdatering af dataflow.

Brug af trinvis opdatering i dataflow, der er oprettet i Power BI, kræver, at dataflowet er placeret i et arbejdsområde i Premium-kapacitet. Trinvis opdatering i Power Apps kræver Power Apps pr. app eller pr. bruger-plan og er kun tilgængelig for dataflow med Azure Data Lake Storage som destination.

I enten Power BI eller Power Apps kræver trinvis opdatering, at kildedata, der er indtaget i dataflowet, har et DateTime-felt, som trinvis opdatering kan filtrere efter.

Konfiguration af trinvis opdatering af dataflow

Et dataflow kan indeholde mange tabeller. Trinvis opdatering konfigureres på tabelniveau, så ét dataflow kan indeholde både fuldt opdaterede tabeller og trinvist opdaterede tabeller.

Hvis du vil konfigurere en tabel, der opdateres trinvist, skal du starte med at konfigurere tabellen på samme måde som enhver anden tabel.

Når dataflowet er oprettet og gemt, skal du vælge Trinvis opdateringTrinvis opdatering. i tabelvisningen som vist på følgende billede.

Ikon for trinvis opdatering af dataflow.

Når du vælger ikonet, vises vinduet Indstillinger for trinvis opdatering. Slå trinvis opdatering til.

Trinvis opdatering af dataflow.

På følgende liste forklares indstillingerne i vinduet Indstillinger for trinvis opdatering.

  • Trinvis opdatering til/fra: Slår politikken for trinvis opdatering til eller fra for tabellen.

  • Rullelisten Filterfelt: Vælger det forespørgselsfelt, som tabellen skal filtreres efter trinvist. Dette felt indeholder kun felter af typen DateTime. Du kan ikke bruge trinvis opdatering, hvis tabellen ikke indeholder et DateTime-felt.

    Vigtigt

    Vælg et uændret datofelt til filteret til trinvis opdatering. Hvis feltværdien ændres (f.eks. med et ændret datofelt ), kan det medføre opdateringsfejl på grund af dubletværdier i dataene.

  • Gem/opdater rækker fra fortiden: Eksemplet på det forrige billede illustrerer disse næste par indstillinger.

    I dette eksempel definerer vi en opdateringspolitik til lagring af fem års data i alt og trinvis opdatering af 10 dages data. Hvis det antages, at tabellen opdateres dagligt, udføres følgende handlinger for hver opdateringshandling:

    • Tilføj en ny dag med data.

    • Opdater 10 dage op til den aktuelle dato.

    • Fjern kalenderår, der er ældre end fem år før dags dato. Hvis den aktuelle dato f.eks. er 1. januar 2019, fjernes året 2013.

    Det kan tage et stykke tid at importere alle fem år ved den første opdatering af dataflowet, men efterfølgende opdateringer vil sandsynligvis blive fuldført meget hurtigere.

  • Registrer dataændringer: En trinvis opdatering på 10 dage er meget mere effektiv end en komplet opdatering på fem år, men du kan muligvis gøre det endnu bedre. Når du markerer afkrydsningsfeltet Registrer dataændringer , kan du vælge en dato/klokkeslæt-kolonne for kun at identificere og opdatere de dage, hvor dataene er blevet ændret. Dette forudsætter, at der findes en sådan kolonne i kildesystemet, som typisk er til overvågningsformål. Den maksimale værdi for denne kolonne evalueres for hver af perioderne i det trinvise interval. Hvis disse data ikke er blevet ændret siden den seneste opdatering, er det ikke nødvendigt at opdatere perioden. I eksemplet kan dette yderligere reducere de dage, der opdateres trinvist fra 10 til måske 2.

    Tip

    Det aktuelle design kræver, at den kolonne, der bruges til at registrere dataændringer, bevares og cachelagres i hukommelsen. Det kan være en god idé at overveje en af følgende teknikker for at reducere kardinalitet og hukommelsesforbrug:

    • Bevar kun den maksimale værdi for denne kolonne på opdateringstidspunktet, måske ved hjælp af en Power Query-funktion.
    • Reducer præcisionen til et niveau, der er acceptabelt på grund af dine krav til opdateringshyppighed.
  • Opdater kun hele perioder: Forestil dig, at din opdatering er planlagt til at køre kl. 04:00 hver dag. Hvis der vises data i kildesystemet i løbet af de første fire timer på den pågældende dag, kan det være en god idé ikke at tage højde for dem. Nogle forretningsmålepunkter, f.eks. tønder pr. dag i olie- og gasbranchen, er ikke praktiske eller fornuftige at tage højde for baseret på delvise dage.

    Et andet eksempel, hvor det kun er relevant at opdatere hele perioder, er opdatering af data fra et økonomisk system. Forestil dig et finansielt system, hvor data for den forrige måned godkendes den 12. kalenderdag i måneden. Du kan angive det trinvise interval til én måned og planlægge opdateringen til at køre den 12. dag i måneden. Når denne indstilling er valgt, opdaterer systemet januardata (den seneste hele månedsperiode) den 12. februar.

Bemærk

Trinvis opdatering af dataflow bestemmer datoer i henhold til følgende logik: Hvis en opdatering er planlagt, bruger trinvis opdatering af dataflow den tidszone, der er defineret i opdateringspolitikken. Hvis der ikke findes nogen tidsplan for opdatering, bruger trinvis opdatering tiden fra den computer, der kører opdateringen.

Når trinvis opdatering er konfigureret, ændrer dataflowet automatisk din forespørgsel, så den omfatter filtrering efter dato. Hvis dataflowet blev oprettet i Power BI, kan du også redigere den automatisk genererede forespørgsel ved hjælp af den avancerede editor i Power Query for at finjustere eller tilpasse din opdatering. Læs mere om trinvis opdatering, og hvordan den fungerer i følgende afsnit.

Bemærk

Når du redigerer dataflowet, opretter Power Query-editoren direkte forbindelse til datakilden og viser ikke de data, der cachelagres/filtreres i dataflowet, efter at de er blevet behandlet af politikken for trinvis opdatering. Hvis du vil kontrollere de data, der cachelagres i dataflowet, skal du oprette forbindelse fra Power BI Desktop til dataflowet, når du har konfigureret politikken for trinvis opdatering og opdateret dataflowet.

Trinvis opdatering og sammenkædede tabeller i forhold til beregnede tabeller

I forbindelse med sammenkædede tabeller opdaterer trinvis opdatering kildetabellen. Da sammenkædede tabeller blot peger på den oprindelige tabel, har trinvis opdatering ingen indvirkning på den sammenkædede tabel. Når kildetabellen opdateres i henhold til dens definerede opdateringspolitik, bør enhver sammenkædet tabel antage, at dataene i kilden opdateres.

Beregnede tabeller er baseret på forespørgsler, der kører over et datalager, som kan være et andet dataflow. Beregnede tabeller fungerer derfor på samme måde som sammenkædede tabeller.

Da beregnede tabeller og sammenkædede tabeller fungerer på samme måde, er kravene og konfigurationstrinnene de samme for begge. En forskel er, at trinvis opdatering i visse konfigurationer ikke kan køre på en optimeret måde for beregnede tabeller på grund af den måde, partitioner bygges på.

Skift mellem trinvis og fuld opdatering

Dataflow understøtter ændring af opdateringspolitikken mellem trinvis og fuld opdatering. Når en ændring sker i begge retninger (fuld til trinvis eller trinvis til fuld), påvirker ændringen dataflowet efter den næste opdatering.

Når du flytter et dataflow fra fuld opdatering til trinvis, opdaterer den nye opdateringslogik dataflowet ved at overholde opdateringsvinduet og forøgelsen som defineret i indstillingerne for trinvis opdatering.

Når du flytter et dataflow fra trinvis til fuld opdatering, overskrives alle data, der er akkumuleret i den trinvise opdatering, af den politik, der er defineret i den fulde opdatering. Du skal godkende denne handling.

Understøttelse af tidszone i trinvis opdatering

Trinvis opdatering af dataflow afhænger af det tidspunkt, hvor det køres. Filtreringen af forespørgslen afhænger af den dag, hvor den køres.

For at imødekomme disse afhængigheder og sikre ensartet data implementerer trinvis opdatering af dataflow følgende heuristik til scenarier med opdatering nu :

  • Hvis en planlagt opdatering er defineret i systemet, bruger trinvis opdatering tidszoneindstillingerne fra afsnittet planlagt opdatering. Dette sikrer, at den tidszone, som den person, der opdaterer dataflowet, befinder sig i, altid vil være i overensstemmelse med systemets definition.

  • Hvis der ikke er defineret nogen planlagt opdatering, bruger dataflow tidszonen fra computeren for den bruger, der udfører opdateringen.

Trinvis opdatering kan også aktiveres ved hjælp af API'er. I dette tilfælde kan API-kaldet indeholde en tidszoneindstilling, der bruges i opdateringen. Brug af API'er kan være nyttigt til test- og valideringsformål.

Oplysninger om implementering af trinvis opdatering

Dataflow bruger partitionering til trinvis opdatering. Trinvis opdatering i dataflow bevarer det mindste antal partitioner, der skal opfylde kravene til opdateringspolitikken. Gamle partitioner, der går uden for området, droppes, hvilket vedligeholder et rullende vindue. Partitioner flettes opportunistisk, hvilket reducerer det samlede antal partitioner, der kræves. Dette forbedrer komprimeringen og kan i nogle tilfælde forbedre forespørgslens ydeevne.

Eksemplerne i dette afsnit deler følgende opdateringspolitik:

  • Gem rækker i det sidste 1. kvartal
  • Opdater rækker inden for de seneste 10 dage
  • Registrer dataændringer = Falsk
  • Opdater kun hele dage = Sand

Flet partitioner

I dette eksempel flettes dagspartitioner automatisk med månedsniveauet, når de er uden for det trinvise interval. Partitioner i det trinvise interval skal vedligeholdes med daglig granularitet for kun at tillade, at disse dage opdateres. Opdateringshandlingen med Kørselsdato 11-12-2016 fletter dagene i november, fordi de ligger uden for det trinvise interval.

Flet partitioner i dataflow.

Slip gamle partitioner

Gamle partitioner, der ligger uden for det samlede interval, fjernes. Opdateringshandlingen med Kørselsdato 2/1/2017 dropper partitionen for 3. kvartal 2016, fordi den ligger uden for det samlede interval.

Slip gamle partitioner i dataflow.

Genoprettelse efter længerevarende fejl

Dette eksempel simulerer, hvordan systemet genoprettes korrekt efter længerevarende fejl. Lad os sige, at opdateringen ikke kører korrekt, fordi legitimationsoplysningerne for datakilden er udløbet, og problemet tager 13 dage at løse. Det trinvise interval er kun 10 dage.

Den næste vellykkede opdateringshandling med Kørselsdato 15/15/2017 skal udfylde de manglende 13 dage og opdatere dem. Den skal også opdatere de forrige ni dage, fordi de ikke blev opdateret efter den normale tidsplan. Med andre ord øges det trinvise interval fra 10 til 22 dage.

Den næste opdateringshandling med Kørselsdato 16-16-2017 benytter lejligheden til at flette dagene i december og månederne i 4. kvartal 2016.

Genoprettelse efter længerevarende fejl i dataflow.

Trinvis opdatering af dataflow og datasæt

Trinvis opdatering af dataflow og trinvis opdatering af datasæt er designet til at fungere sammen. Det er acceptabelt og understøttes at have en trinvis opdateringstabel i et dataflow, fuldt indlæst i et datasæt eller en fuldt indlæst tabel i et dataflow, der indlæses trinvist i et datasæt.

Begge tilgange fungerer i henhold til de angivne definitioner i opdateringsindstillingerne. Flere oplysninger: Trinvis opdatering i Power BI Premium

Se også

I denne artikel beskrives trinvis opdatering af dataflow. Her er nogle flere artikler, der kan være nyttige:

Du kan finde flere oplysninger om Power Query og planlagt opdatering ved at læse disse artikler:

Du kan få flere oplysninger om Common Data Model i dens oversigtsartikel: