Incremental refresh laadt naast incrementele partitie ook telkens de hele dataset opnieuw

Om aan de Fair Use limieten te voldoen en het verversen van de Power BI dataset te versnellen heb ik incremental refresh ingesteld op een aantal Teamleader tabellen. Dit werkt nog niet helemaal zoals gehoopt, waardoor Power BI Service nog steeds veel meer data binnenhaalt dan nodig.

Mijn instellingen:

  • RangeStart: 01-01-2015
  • RangeEnd: 01-01-2030
  • Incrementeel vernieuwen: 3 maanden voor verversingsdatum
  • Archief: 4 jaar voor verversingsdatum.

Ik verwacht dat bij de eerste refresh de data van de afgelopen 4 jaar wordt binnengehaald, en de daaropvolgende refreshes steeds de data van de afgelopen 3 maanden.

In Bridge Online Monitoring zie ik inderdaad dat elke keer de data van oktober, september, en augustus wordt gedownload, maar daarnaast ook nog eens alle data van de afgelopen 4 jaar (van 01-01-2019 tot 01-01-2024).

De SQL-instructie op Bridge Online Monitoring ziet er als volgt uit:

select t.*
 from   Teamleader.V2.TimeTracking@tlr t
 where  (([started_on] > :w1) and ([started_on] <= :w2))

Hieruit maak ik op dat de parameters voor de incrementele refresh wel mee worden gegeven. Maar vervolgens starten er 4 downloads: een voor oktober, een voor september, een voor augustus, en een voor 2019-2024. Hetzelfde gebeurt bij de V2Milestones en de V2FlatProjectsAll tabellen, waar ik een vergelijkbare incremental refresh policy heb ingesteld.

PowerQuery:

let

    // Load data
    Source = OData.Feed("https://bridge-online.cloud/acme-teamleader-focus/odata4", null, [Implementation="2.0", 
    ODataVersion=4, OmitValues=ODataOmitValues.Nulls, 
    Headers=[Referer = "Company Dashboard"], 
    Timeout=#duration(0,2,0,0)]),
    #"Teamleader.V2.TimeTracking@tlr_table" = Source{[Name="Teamleader.V2.TimeTracking@tlr",Signature="table"]}[Data],

    // Set up logic for incremental refresh
    #"Filtered Rows" = Table.SelectRows(#"Teamleader.V2.TimeTracking@tlr_table", each [started_on] >= DateTime.AddZone(RangeStart,0) and [started_on] < DateTime.AddZone(RangeEnd, 0))

in #"Filtered Rows"

Enig idee wat hier misgaat?

Uit de tekst valt op te maken dat er blijkbaar vier downloads gestart worden bij Invantive Bridge Online op basis van de logica in Power Query. Dit leidt tot de conclusie dat de oorzaak in Power Query zit voor het initieren van vier downloads, en er mogelijk meerdere queries zijn die dezelfde data ophalen, met telkens andere filters.

Advies is:

  • controleer de logica in Power Query zorgvuldig.
  • differentieer/voeg toe de “Referer” header om te achterhalen welke Power Query statements de vier verschillende downloads starten. De waarde van de “Referer”-header is zichtbaar in Invantive Bridge Online Monitoring.

Deze vraag is automatisch gesloten na 2 weken inactiviteit. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.

Dit topic is 7 dagen na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.