Konfigurer trinvis opdatering

I denne artikel beskrives det, hvordan du konfigurerer trinvis opdatering for datasæt. du kan få mere at vide om konfiguration af trinvis opdatering til dataflows i Premium funktioner i dataflows-trinvis opdatering.

Konfiguration af trinvis opdatering omfatter oprettelse af RangeStart-og RangeEnd-parametre, anvendelse af filtre og definition af en politik for trinvis opdatering. Når du har publiceret til tjenesten, skal du udføre en indledende opdatering på datasættet. Den indledende opdateringshandling, og efterfølgende opdateringshandlinger anvendes den politik for trinvis opdatering, du har defineret. Før du udfører disse trin, skal du sørge for, at du fuldt ud forstår de funktioner, der er beskrevet under trinvis opdatering af datasæt.

Opret parametre

I denne opgave skal du bruge Power-forespørgsel redaktør til at oprette RangeStart-og RangeEnd-parametre med standardværdier. Standardværdierne gælder kun, når du filtrerer de data, der skal indlæses i modellen i Power BI Desktop. De værdier, du angiver, må kun indeholde en lille mængde af de nyeste data fra datakilden. Når disse værdier publiceres til tjenesten tilsidesættes den trinvise opdaterings politik.

  1. i Power BI Desktop skal du klikke på omdan data for at åbne Power-forespørgsel Editor.

  2. Klik på Administrer parametre > ny parameter.

  3. I Administrer parametre > navn skal du skrive RangeStart (skelne mellem store og små bogstaver) og derefter vælge dato/klokkeslæt, og derefter skal du angive en værdi for startdato/klokkeslæt i den aktuelle værdi .

    Definer start parameteren for intervallet i dialogboksen Administrer parametre

  4. Opret en anden parameter med navnet RangeEnd. Vælg dato/klokkeslæt i typen Dato/klokkeslæt, og angiv derefter en værdi for slutdato/klokkeslæt i den aktuelle værdi .

    Definer parameteren for slutpunktet for intervallet i dialogboksen Administrer parametre

Nu, hvor du har RangeStart-og RangeEnd-parametre, kan du filtrere de data, der skal indlæses i modellen, på baggrund af disse parametre.

Filtrer data

Bemærk

Før du fortsætter med denne opgave, skal du kontrollere, at din kildetabel har datatypen Dato/klokkeslæt. Hvis det ikke er, men har en datokolonne for heltals erstatnings nøgler i form af yyyymmdd , skal du følge trinnene i Konvertér datetime til Integer senere i denne artikel for at oprette en funktion, der konverterer dato-/klokkeslætsværdien i parametrene, så den stemmer overens med heltals erstatnings nøgle for kildetabellen.

Når RangeStart-og RangeEnd-parametre er defineret, skal du anvende et filter baseret på betingelser i parametrene RangeStart og RangeEnd.

  1. Vælg den datokolonne, du vil filtrere efter, i Power-forespørgsel editor, og klik derefter på filterikonet > dato/klokkeslæt Filtrer > Brugerdefineret filter.

  2. Hvis du vil angive den første betingelse i filter rækker, skal du vælge er efter eller lig med, vælge parameter og derefter vælge RangeStart.

    Hvis du vil angive den anden betingelse, skal du vælge før eller lig med, hvis du har valgt efter den første betingelse, eller hvis du har valgt, er efter eller lig med i den første betingelse, skal du vælge Skaler før den anden betingelse og derefter vælge parameter og derefter vælge RangeEnd. F.eks.

    Filtrer rækker

    Vigtigt! Kontrollér, at forespørgsler har et lighedstegn (=) på enten RangeStart eller RangeEnd, men ikke begge dele. Hvis lighedstegnet (=) er ved begge parametre, kan en række opfylde betingelserne for to partitioner, hvilket kan medføre, at data i modellen duplikeres. Det kan f. eks #"Filtered Rows" = Table.SelectRows(dbo_Fact, each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) . medføre dubletdata.

    Klik på OK for at lukke.

  3. Klik på luk & Anvend i Power-forespørgsels editor. Power-forespørgsel indlæser derefter data baseret på de filtre, der er defineret i parametrene RangeStart og RangeEnd, og andre filtre, du har defineret.

    Power-forespørgsel indlæser kun data, der er angivet mellem RangeStart-og RangeEnd-parametrene. Afhængigt af datamængden i den pågældende periode går belastningen hurtigt. Hvis den virker langsom og proces intensiv, er det sandsynligt, at forespørgslen ikke er foldning.

Definer politik

Når du har defineret RangeStart-og RangeEnd-parametre og filtrerede data på baggrund af disse parametre, skal du definere en politik for trinvis opdatering. Politikken anvendes først, når modellen er publiceret til tjenesten, og der udføres en manuel eller planlagt opdateringshandling.

  1. I data visning > felter > du åbne genvejsmenuen for tabellen og derefter klikke på trinvis opdatering.

    Genvejsmenuen tabel

  2. I den trinvise opdaterings > tabel skal du kontrollere eller vælge tabellen og derefter klikke på den trinvise opdaterings skyder til on. Hvis skyderen er deaktiveret, betyder det, at Power-forespørgsels udtrykket for tabellen ikke indeholder et filter, der er baseret på parametrene RangeStart og RangeEnd.

  3. i Store rækker, hvor kolonnen "columnname" er i den sidste:, skal du angive den historik lager periode, du vil medtage i datasættet. Alle rækker med datoer i denne periode indlæses i datasættet i tjenesten, medmindre der er andre filtre.

  4. I Opdater rækker, hvor kolonnen "ColumnName" er i den sidste:, skal du angive opdaterings perioden. Alle rækker med datoer i denne periode opdateres, hver gang en manuel eller planlagt opdatering udføres.

    Dialogboksen Opdater politik

  5. Vælg valgfrie indstillinger:

    Vælg Registrer dataændringer for at angive en dato/klokkeslæt-kolonne, der bruges til at identificere og opdatere de dage, hvor dataene er ændret. Der skal findes en dato-/klokkeslætskolonne, som normalt er beregnet til overvågning i datakilden. Det må ikke være den samme kolonne , der bruges til at partitionere dataene med parametrene RangeStart og RangeEnd. Maksimumværdien for denne kolonne evalueres for hver af perioderne i det trinvise interval. Hvis den ikke har ændret sig siden sidste opdatering, opdateres den aktuelle periode ikke. for de datasæt, der er publiceret til Premium kapaciteter, kan du også angive en brugerdefineret forespørgsel. Hvis du vil vide mere, skal du se Avanceret trinvis opdatering – brugerdefinerede forespørgsler til registrering af dataændringer.

    Vælg kun Opdater hele dage for kun at opdatere hele dage. Hvis opdateringshandlingen registrerer, at dagen ikke er færdig, opdateres rækker for hele dagen ikke.

  6. Klik på Anvend alle for at fuldføre opdaterings politikken. Kildedataene er ikke indlæst i dette trin.

Gem og Publicer til tjenesten

Når dine RangeStart-og RangeEnd-parametre, filtrerings-og opdateringsparametre er udført, skal du sørge for at gemme din model og derefter publicere den til tjenesten. Hvis dit datasæt bliver stort, skal du sørge for at aktivere lagrings formatet stort datasæt , før du kalder den første opdatering i tjenesten.

Opdater datasæt

I tjenesten skal du opdatere datasættet. Den første opdatering vil indlæse både nye og opdaterede data i opdateringsperioden samt historiske data i hele butiks perioden. Afhængigt af datamængden kan det tage lang tid. Efterfølgende opdateringer er en manuel eller planlagt typisk meget hurtigere, fordi politikken for trinvis opdatering anvendes, og kun data for den periode, der er angivet i indstillingen Opdater politik, opdateres.

Konvertér DateTime til Integer

Denne opgave er valgfri.

Datatypen for parametrene RangeStart og RangeEnd skal være af datatypen Dato/klokkeslæt. Men for mange datakilder har tabeller ikke en kolonne med datatypen Dato/klokkeslæt, men i stedet har en datokolonne med heltals erstatnings nøgler i form af yyyymmdd . Du kan oprette en funktion, der konverterer dato-/klokkeslætsværdien i parametrene, så den stemmer overens med erstatnings nøgle for det pågældende heltal i datakilde tabellen. Funktionen kaldes derefter i et filter trin. Dette trin er påkrævet, hvis datakildetabellen kun indeholder en erstatnings nøgle som Integer-datatype.

  1. I Power-forespørgsels Editor skal du klikke på Hent data > Tom forespørgsel.

  2. i forespørgsels Indstillinger skal du skrive et navn, f. eks. DateKey, og derefter skal du i formeleditor angive følgende formel:

    = (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)

    Opret DateKey-funktion

  3. Hvis du vil teste formlen, skal du angive en værdi for date\time i Enter-parameter og derefter klikke på Invoke. Hvis formlen er korrekt, returneres en heltalsværdi for datoen. Når du har kontrolleret den, skal du slette den aktiverede funktions forespørgsel.

  4. I forespørgsler skal du vælge tabellen og derefter redigere forespørgsels formlen for at kalde funktionen med parametrene RangeStart og RangeEnd. F.eks.

    = Table.SelectRows(#"Sorted Rows", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))

    Anvend DateKey-filter

Se også

Fejlfinding i forbindelse med konfiguration af trinvis opdatering
Avanceret trinvis opdatering med XMLA-slutpunktet
Konfigurer planlagt opdatering