Filteren op Division in OData voor Power Query op Exact Online XML tabel

Bij gebruik van de REST tabellen in Power Query lukt het mij om de op te halen data te filteren op bijvoorbeeld Division en alleen de kolommen te selecteren die nodig zijn. Wat ik uit de online documentatie begrijp: filter mogelijkheden voor XML zijn een stuk beperkter maar in alle gevallen is het filteren op Division wel mogelijk. Het lukt mij alleen niet om dit filter toe te passen in Power Query.

Onderstaand artikel heeft het alleen over de filteroptie voor een REST tabel: Reduce data volume and improve performance of your Power BI report by Filtering

Is ergens een voorbeeld Power Query script beschikbaar waar gefilterd wordt op een Division?

Het gaat specifiek om onderstaande tabel, hier wordt namelijk eenduidig de openingsbalans per boekjaar opgenomen (als er een beter alternatief is hou ik mij aanbevolen):

= OData.Feed(https://bridge-online.cloud/naam/odata4/ExactOnlineXML.XML.BalanceLines@eol, null, [Implementation="2.0"])

Saldibalanstabellen

De Exact Online XML tabellen BalanceLines, BalanceLinesPerPeriod, en de analytische varianten met kostenplaats/kostendrager BalanceLinesCostAnalysis en BalanceLinesPerPeriodCostAnalysis zijn de aanbevolen manier om saldi informatie op te halen. Ze zijn enorm snel in vrijwel alle situaties en schalen gemakkelijk naar tientallen en honderden administraties.

Om te filteren op Exact Online administratie(s) zijn er verschillende mogelijkheden:

  • per query
  • voor alle queries via het use statement
  • voor alle queries gestuurd vanuit Exact Online

Administratie(s) kiezen per OData4 Query

In de OData4 query kan op administratie gefilterd worden via de kolom DIVISION_CODE_ATTR, bijvoorbeeld als volgt:

https://bridge-online.cloud/NAAM/odata4/ExactOnlineXML.XML.Journals@eol?$filter=DIVISION_CODE eq '102673'

De XML tabellen kennen momenteel minder optimalisaties dan de REST-tabellen voor het filteren op afgeleide velden zoals DIVISION_HID en DIVISION_NAME (zie Improved Very Large Company Volume Performance on Exact Online). Filter daarom altijd op DIVISION_CODE; andere administraties worden dan niet opgehaald of geraakt. Indien meerdere gebruikers de behoefte kenbaar maken onderstaand via een reactie aan dezelfde optimalisaties voor XML-tabellen op afgeleide velden, dan nemen we dat in overweging.

De kolomnamen zijn ook eenvoudig terug te vinden door deze OData4 query als URL te openen in een browser.

Administratie(s) kiezen via het use statement

Voor een database kan in de definitie ook opgegeven worden welke administraties van de beschikbare administraties in aanmerking komen voor gebruik vanuit Invantive Bridge Online met Power BI of Power Query, en voor gebruik in de SQL editor (indien SQL gelicentieerd is).

Standaard wordt bij de databasedefinitie op Exact Online een “Startup SQL” statement ingesteld dat alle administraties selecteert:

Selecteer alle Exact Online administraties

Dit SQL statement dat bij het openen van de database alle administraties selecteert kan momenteel alleen aangepast worden door Invantive Support. Als uitsluitend specifieke administraties gewenst worden, gelieve dan via een e-mail aan support@invantive.com de lijst van divisiecodes door te geven. De aanpassing gebeurt vaak binnen enkele minuten en duurt normaliter hoogstens enkele uren.

Let op! de divisiecodes zijn gewenst, niet de administratienummers. Lees voor tips over het bepalen van de divisiecodes het artikel Foutmelding itgengpr012 bij het selecteren van Exact Online administraties.

Administraties(s) kiezen vanuit Exact Online

Tenslotte kan via Exact Online gestuurd worden welke administraties gebruikt worden. Dit kan door een aparte gebruiker te maken voor Invantive Cloud en hier de gewenste administraties aan toe te kennen. Of via de zogenaamde “division scoping” waarbij een gebruiker specifiek aan een bepaalde app rechten geeft op administraties zoals in onderstaand plaatje:

De rechten kunnen achteraf bijgesteld worden zoals beschreven in Itgeneor228 / itgenoda060: Forbidden - User division is not within division scope. Het instellen van de administratierechten via “division scoping” is nog aan verandering onderhevig door Exact (situatie begin 2021).