Gripp CRM connector - refresh tabel "Hours" traag

De refresh van de tabel “Hours” is nog steeds erg traag. Ik heb al toegepast: Vermijd time-out fout bij Power BI OData download.

Moet het vinkje “Uit Cache” aangevinkt staan? Dat is bij de andere tabellen wel het geval namelijk.

De snelheid van het ophalen van uren uit Gripp CRM wordt bepaald door de Gripp CRM API. Deze is blijkbaar minder snel dan gewenst.

Advies is de performancetips op te volgen beschreven op Overzicht van Power BI-technieken om prestaties en downloadtijd te verbeteren.

Vooral het beperken van het aantal rijen door het toevoegen van een filter op een veld met server-side filtering zoals date_date zal een lineaire impact hebben op de verbetering van de tijd: Verminder hoeveelheid data en verbeter de prestaties van uw Power BI-rapport door te filteren. Een succesvolle toepassing hiervan zal zichtbaar zijn doordat een where-clause verschijnt met een parameterwaarde in de rechterkolom bij “SQL-instructie”. Zorg er voor dat de filterstap zo dicht mogelijk tegen de data retrieval stap aan zit in de Power BI-editor of Geavanceerde Editor. Mocht dit niet doorkomen, gelieve dan de M-code toe te voegen uit de Geavanceerde Editor. De doorvoersnelheid zal ongeveer 2.500 rijen per minuut zijn blijkens de schermafdruk.

Daarnaast kan overwogen worden via PowerBI.com de dataset dagelijks automatisch te verversen. Dan komt de data de rest van de dag (cq. de hier ingestelde 56.000 seconden) uit de cache. Het vinkje “Uit cache” zal dan bij alle vervolgdownloads in de 56.000 seconden na de eerste download aangevinkt zijn. Zie ook Differentieer OData4 cachegedrag met Power BI.

Ik heb al zoveel mogelijk gefilterd op datum. Echter zie ik de SQL statement niet terugkomen in de details.

Gaat dit dan goed?

Het is op basis van de getoonde code niet te bepalen.

Gelieve de volledige code die getoond wordt in de Advanced Editor toe te voegen als antwoord.

let
    Source = OData.Feed("https://bridge-online.cloud/acme-gripp-crm/odata4", null, [Implementation="2.0"]),
    #"GrippCrm.DEFAULT.Hours@grp_table" = Source{[Name="GrippCrm.DEFAULT.Hours@grp",Signature="table"]}[Data],
    #"Removed Other Columns" = Table.SelectColumns(#"GrippCrm.DEFAULT.Hours@grp_table",{"id", "date_date", "status_id", "description", "amount", "employee_id", "offerprojectbase_id", "offerprojectbase_searchname", "offerprojectline_id", "offerprojectline_searchname"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Removed Other Columns",{{"date_date", type date}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"offerprojectbase_searchname", "offerprojectline_searchname", "status_id", "id"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"date_date", "date"}}),
    #"Filtered Rows" = Table.SelectRows(#"Renamed Columns", each [date] > #date(2022, 9, 25)),
    #"Inserted Merged Column" = Table.AddColumn(#"Filtered Rows", "EmployeeRateKey", each Text.Combine({Text.From([employee_id], "nl-NL"), "-", Text.From([date], "nl-NL")}), type text)
in
    #"Inserted Merged Column"

In de code is te zien dat de filterstap op enige afstand zit van de download met Source. Power BI query-folding kan dan waarschijnlijk de filters niet meer doorgeven aan de bron. Zorg er voor dat de filterstap direct na de download komt, vooraleer kolommen worden verwijderd, veranderd of toegevoegd.

Deze vraag is automatisch gesloten na tenminste 2 weken inactiviteit nadat een mogelijk passend antwoord is gegeven. 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.