Power BI Service: The timeout period elapsed prior to completion of the operation & andere foutmeldingen

Bij een klant van ons loopt sinds een paar dagen het dashboard fout in Power BI Service. Dit lijkt uit het niets te komen, want we hebben er tenslotte niks aan veranderd. Het gaat hierbij specifiek om het ophalen van sommige tabellen uit Exact, zoals de Transactionlines.

Het begon bij deze foutmeldingen:

  • Processing error: Timeout expired. The timeout period elapsed prior to completion of the operation.
  • Data source error: OData: Request failed: The operation has timed out. The exception was raised by the IDataReader interface. Please review the error message and provider documentation for further information and corrective action.

En dat is sinds afgelopen vrijdag veranderd in:

  • Data source error: OData: Invalid JSON. A comma character ‘,’ was expected in scope ‘Array’. Every two elements in an array and properties of an object must be separated by commas… The exception was raised by the IDataReader interface. Please review the error message and provider documentation for further information and corrective action.

Heeft iemand hier enig idee hoe dit opgelost kan worden? Ik heb het al geprobeerd op te lossen met het verlengen van de Timeout Duration, maar ook dat hielp niet. De code van deze tabellen ziet er als volgt uit:

let
    Bron = OData.Feed("https://bridge-online.cloud/*******************", null, [Implementation = "2.0", Timeout=#duration(0,4,0,0)]),
    Navigatie = Bron{[Name = "ExactOnlineREST.Incremental.TransactionLinesIncremental@eol", Signature = "table"]}[Data],
    #"Rijen gefilterd" = Table.SelectRows(Navigatie, each [FinancialYear] > 2020)
in
    #"Rijen gefilterd"

Advies 1 is om ook de andere twee instellingen toe te voegen van Vermijd time-out fout bij Power BI OData download zodat het OData.Feed gaat luiden:

Bron = OData.Feed("https://bridge-online.cloud/3279/odata4/", null, [Implementation="2.0", ODataVersion=4, OmitValues=ODataOmitValues.Nulls, Headers=[Referer = "enter-your-chosen-id-for-the-source" ], Timeout=#duration(0,4,0,0)]),

Dit zal het probleem waarschijnlijk niet oplossen, maar beperkt het datavolume en leidt tot betere herleidbaarheid in de Bridge Online Monitoring en het Invantive Cloud-scherm “Sessie I/O’s”.

Voor gemak zijn “Bridge Require Omit-NullValues Specified” en “Bridge Require Refere-header Specified” aangezet zodat gemakkelijk achterhaal kan worden waar deze instellingen ontbreken (zie Snellere OData downloads met kleinere omvang met kleine aanpassing in Power BI), evenals Bring Your Own App.

Advies 2 is om een eigen App te registreren zoals beschreven op Bring Your Own App voor Exact Online op Invantive Cloud.

Advies 3 is om de HTTP disk cache en Bridge Response Cache te verhogen van 1 seconde naar bijvoorbeeld een uur en het gebruik van HTTP disk cache weer in te schakelen. Voor gemak zijn deze instellingen alvast ingesteld op 1 uur en wel gebruik van de HTTP disk cache.

Tenslotte kan het verstandig zijn om te controleren of altijd alle 25 administraties opgehaald moeten worden.

Het eindresultaat van de instellingen is:

image

Indien het gebruik van real-time data nodig is, gelieve dan via een kort consult hier over te overleggen. Real-time is de basis, maar vereist vooral bij grotere omgevingen meer ontwerptijd vooraf.

Thanks voor je antwoord. Ik heb de eerste suggestie geprobeerd, en bij sommige tabellen werkt het en sommige ook weer niet. Ik weet niet zeker of ik de Referer goed heb ingevuld zo. Ik heb de code gekopieerd die in de foutmelding stond als ik het niet deed:

Klopt dit zo?

Dit was namelijk de foutmelding als ik dat gehele stuk wegliet (en alleen Implementation = 2.0 had staan):

Om even terug te komen op mijn laatste reply: het lijkt erop dat die code steeds veranderd. Als ik de code in de foutmelding overneem in Power Query en run, komt er weer een foutmelding met een nieuwe Referer code… Hoor graag of hier evt iets anders ingevuld moet worden.