Verminder hoeveelheid data en verbeter de prestaties van uw Power BI-rapport door te filteren

Go to English version

Leer hoe u het aantal rijen dat wordt opgehaald in Power BI Desktop en/of de Power BI Service vanuit Invantive Bridge Online databases kunt verminderen met behulp van filters. De prestaties van Power BI-rapporten worden effectief verbeterd, terwijl ook het netwerkgebruik wordt verminderd door gebruik te maken van Power BI-filters bij het importeren van gegevens in plaats van een import van alle gegevens en op de PC filteren.

Deze tips werken voor alle Power BI producten: Power BI Desktop, Power BI Service, Azure Data Factory, Microsoft Integration Services en de Power Query engine voor Excel.

De prestaties en de benodigde netwerkcapaciteit van Power BI-rapporten kunnen op verschillende manieren worden verminderd. Door aanpakken te combineren kunnen de prestaties en de downloadtijd in Power BI aanzienlijk verder worden verbeterd. Nadat u het gegevensvolume van de in Power BI geladen gegevenssets hebt verminderd door verticaal te filteren, kunt u met de stappen op Overzicht van Power BI-technieken om prestaties en downloadtijd te verbeteren de prestaties van Power BI-rapporten nog verder verbeteren.

Zorg ervoor dat u de structuur van Invantive Cloud begrijpt voordat u begint met het optimaliseren van de prestaties en het verminderen van het aantal downloads. De structuur is te vinden op Invantive Cloud Structure.

Omvang Beperken van Power BI Download door Filteren

Invantive Bridge Online levert data via het OData protocol. Microsoft Power BI is in staat om zijn filtercriteria door te sturen naar een OData databron. Deze doorstuurmogelijkheid evenaart of overtreft de Direct Query Opties die worden aangeboden op een beperkt aantal traditionele databronnen.

Deze functie bespaart bijvoorbeeld ongeveer 90% aan doorlooptijd wanneer u alleen gegevens van het huidige fiscale jaar hoeft te analyseren en u tien jaar historie in Exact Online heeft. In plaats van alle gegevens te downloaden, wordt slechts één jaar geïmporteerd in Power BI. En nog beter: vaak worden deze filters ook nog eens doorgestuurd naar het platform met behulp van server-side filtering (Engels).

Invantive Bridge Online is in staat om de filtercriteria uit Power BI te herkennen en te vertalen naar server-side filters voor de databronnen. Niet alle databronnen ondersteunen server-side filters en/of in dezelfde mate. Enkele voorbeelden:

  • de Exact Online REST tabel TransactionLines maakt filteren op bijna elke kolom mogelijk,
  • de tabel TransactionLinesBulk staat het alleen toe op kolommen in de basistabel (zoals GLAccount en niet op GLAccountCode) en
  • de XML-tabel GLTransactionLines heeft bijna geen filtermogelijkheden.

Op Exact Online is het filter op Division altijd beschikbaar. Het stelt u in staat om uw query te beperken tot gegevens opgehaald uit één of enkele Exact Online administraties (REST API-gebaseerde tabellen) door een filterstap toe te voegen met Division is gelijk aan GETAL.

Het gebruik van een filterstap op kolommen die ergens een divisiecode bevatten, zoals DivisionLabel, vermindert ook het datavolume zoals beschreven op Improved Very Large Company Volume Performance on Exact Online (Engels). U kunt dus net zo makkelijk filteren op DivisionName of DivisionLabel en toch genieten van hoge prestaties bij het selecteren van een paar bedrijven uit duizenden.

Merk op dat de filterstap zo dicht mogelijk tegen de download aan moet zitten. Dit zorgt er voor dat Power BI query-folding kan toepassen. Als er stappen tussen de download en het filter zitten, zal het filter mogelijkerwijs niet meer doorgestuurd worden naar Invantive Cloud.

Met Invantive Query Tool kunt u nagaan welke filtermogelijkheden er zijn door de tabelnaam in te voeren en op F4 te drukken of “Beschrijf Object” te kiezen uit het contextmenu.

Hoe gegevens reduceren door OData bron te filteren in Power BI?

Dit voorbeeld illustreert de stappen om filtering toe te passen:

  • Maak verbinding met een Exact Online abonnement via een OData feed van Power BI.
  • Kies de tabel TransactionLinesBulk.
  • Laat hem volledig laden.
  • Controleer de hoeveelheid gegevens; deze kan zeer groot zijn, zoals 10 miljoen rijen:

  • De bijbehorende Invantive SQL query die door Invantive Bridge Online wordt gebruikt is:
select t.*
from ExactOnlineREST.FinancialTransaction.TransactionLinesBulk t
  • Om bijvoorbeeld alleen gegevens van het huidige boekjaar op te nemen.
  • Klik op de knop “Query’s bewerken”.
  • Kies de query.
  • Navigeer naar de FinancialYear kolom.
  • Selecteer het huidige boekjaar:

  • Merk op dat de stappen alleen “Bron” en “Navigatie” zijn.
  • Klik op de “OK” knop.
  • De hoeveelheid gegevens neemt aanzienlijk af.
  • Een extra stap “Gefilterde rijen” is toegevoegd:

  • De eigenschappen van de stap zijn:

  • Klik op de “Sluiten & Toepassen” knop.
  • Ververs de gegevens.
  • Merk op dat het verversen aanzienlijk sneller gaat.
  • Het filter op FinancialYear wordt doorgestuurd naar Invantive Bridge Online.
  • Invantive Bridge Online zet dit filter om in de volgende query (zichtbaar in Bridge Online Monitoring details):
select t.*
from   ExactOnlineREST.FinancialTransaction.TransactionLinesBulk t
where  (FinancialYear = :w1)
  • Waarbij w1 gebonden is aan de waarde 2018.
  • Extra filters kunnen worden toegevoegd voor verdere verbeteringen.
  • Filter op divisie en/of partitie op platformen zoals Exact Online.

Het filter op FinancialYear kan ook eerder in het proces worden toegevoegd door de knop “Transformeer” te selecteren bij de tabelselectie in Power BI.