Optimalisatiehandleiding voor Power BI
Dit artikel bevat richtlijnen waarmee ontwikkelaars en beheerders geoptimaliseerde Power BI-oplossingen kunnen produceren en onderhouden. U kunt uw oplossing optimaliseren op verschillende architectuurlagen. Lagen zijn onder andere:
- De gegevensbron(en)
- Het gegevensmodel
- Visualisaties, waaronder dashboards, Power BI-rapporten en gepagineerde Power BI-rapporten
- De omgeving, inclusief capaciteiten, gegevensgateways en het netwerk
Het gegevensmodel optimaliseren
Het gegevensmodel ondersteunt de volledige visualisatie-ervaring. Gegevensmodellen worden gehost in het Power BI-ecosysteem of extern (met behulp van DirectQuery of Live Connection) en in Power BI worden ze semantische modellen genoemd. Het is belangrijk om inzicht te hebben in uw opties en om het juiste semantische modeltype voor uw oplossing te kiezen. Er zijn drie semantische tabelopslagmodi: Importeren, DirectQuery en Samengesteld. Zie Semantische modellen in de Power BI-service en Semantische modelmodi in de Power BI-service voor meer informatie.
Zie voor specifieke richtlijnen voor semantische modeltabelopslagmodus:
- Gegevensreductiemethoden voor importmodellen
- Richtlijnen voor DirectQuery-modellen in Power BI Desktop
- Richtlijnen voor samengestelde modellen in Power BI Desktop
Optimaliseren voor rapportauteurs en modelgebruikers
Het semantische model vormt de basis van alle rapportages in Power BI. Consumenten van het semantische model kunnen Power BI-rapporten maken in Power BI Desktop door verbinding te maken met een gepubliceerd semantisch model of verbinding te maken met gegevens en een lokaal semantisch model te maken. Het semantische model kan ook worden gebruikt voor het maken van Power BI-rapporten in de browser, het maken van Power BI-verkenningen, het maken van gepagineerde rapporten, het maken van DAX-query's en het maken van rapporten in Excel met Analyseren in Excel, het maken van verbinding met Power BI in Excel of het exporteren van gegevens uit een rapportvisual, evenals vele andere rapportagehulpprogramma's. Een semantische modelauteur kan consumenten van semantische modellen helpen het semantische model te begrijpen en te gebruiken met de wijze waarop ze het model bouwen.
- Namen: Tabellen, kolommen en metingen in het semantische model met beschrijvende namen. 'Winkelverkoop' als tabelnaam is bijvoorbeeld intuïtiever dan 'Table1'.
- Beschrijvingen: Tabellen, kolommen en metingen in het model kunnen beschrijvingen bevatten om meer details te geven dan in de naam past. Leg niet alleen uit wat ze bevatten, maar hoe ze moeten worden gebruikt.
- Verbergen: U kunt tabellen, kolommen en metingen in het model verbergen om alleen weer te geven wat u verwacht dat ze in een rapport worden gebruikt. Relatiekolommen kunnen bijvoorbeeld een id zijn die niet nodig is voor rapportage en kan worden verborgen omdat deze niet wordt verwacht te worden gebruikt in een rapport, of gegevenskolommen met een meting om de kolom samen te voegen, kunnen worden verborgen om het gebruik van de meting aan te moedigen. Verborgen objecten kunnen later altijd zichtbaar worden gemaakt door de modelgebruiker, zodat ze nog steeds beschikbaar zijn, maar verbergen kan de focus bieden.
- Hiërarchieën: U kunt hiërarchieën maken om de hiërarchie over meerdere kolommen over te brengen. Een kalenderhiërarchie kan bijvoorbeeld kolommen Jaar, Maand, Dag en een Producthiërarchie bevatten categorie, subcategorie, productkolommen. Klik met de rechtermuisknop op een kolom om een hiërarchie te maken.
- Metingen: U kunt metingen gebruiken om gegevenskolommen in het semantische model samen te voegen om consistentie in rapporten te bieden. Metingen kunnen variëren van de SOM van een kolom tot een statusindex die meerdere aggregaties op een specifieke manier combineert of aggregaties vergelijkt tussen perioden, zoals het dagelijkse gemiddelde van deze maand in vergelijking met het dagelijkse gemiddelde van dezelfde maand vorig jaar. Metingen kunnen ook worden weergegeven in Power BI-zoekopdrachten en andere functies, zoals metrische gegevens en scorecards.
- Opmaak: U kunt opgeven hoe een kolom of meting standaard wordt weergegeven in een visual. Waarden in visuals kunnen verder worden aangepast in de visual. Opmaakopties zijn onder andere als deze een komma heeft, hoeveel decimalen, hoe een datum wordt weergegeven, enzovoort. U kunt ook aangepaste of dynamische indelingen toepassen.
- Gegevenscategorie: U kunt een kolomgegevenscategorie opgeven, bijvoorbeeld als het een land- of web-URL is.
Dit zijn algemene functies van het semantische Power BI-model dat kan worden gebruikt om uw rapportauteurs en modelgebruikers te helpen. Er zijn veel andere, zoals berekeningsgroepen, veldparameters, wat als-parameters en kolommen groeperen en binning, die moeten worden geëvalueerd om te zien of ze uw specifieke rapportagebehoeften toepassen.
Visualisaties optimaliseren
Power BI-visualisaties kunnen dashboards, Power BI-rapporten of gepagineerde Power BI-rapporten zijn. Elk heeft verschillende architecturen, dus elk heeft zijn eigen richtlijnen.
Dashboards
Het is belangrijk om te begrijpen dat Power BI een cache voor uw dashboardtegels onderhoudt, met uitzondering van liverapporttegels en streamingtegels. Als uw semantische model dynamische beveiliging op rijniveau (RLS) afdwingt, moet u de gevolgen voor de prestaties begrijpen, omdat tegels per gebruiker worden opgeslagen in de cache.
Wanneer u liverapporttegels vastmaakt aan een dashboard, worden deze niet geleverd vanuit de querycache. In plaats daarvan gedragen ze zich als rapporten en maken ze query's naar v-cores.
Zoals de naam al aangeeft, biedt het ophalen van de gegevens uit de cache betere en consistentere prestaties dan het vertrouwen op de gegevensbron. Een manier om te profiteren van deze functionaliteit is door dashboards te gebruiken als de eerste landingspagina voor uw gebruikers. Vaak gebruikte en zeer aangevraagde visuals vastmaken aan de dashboards. Op deze manier worden dashboards een waardevolle 'eerste verdedigingslinie', die consistente prestaties levert met minder belasting van de capaciteit. Gebruikers kunnen nog steeds doorklikken naar een rapport om details te analyseren.
Voor semantische directQuery- en liveverbindingen wordt de cache periodiek bijgewerkt door een query uit te voeren op de gegevensbron. Dit gebeurt standaard elk uur, maar u kunt een andere frequentie configureren in de semantische modelinstellingen. Elke cache-update verzendt query's naar de onderliggende gegevensbron om de cache bij te werken. Het aantal query's dat wordt gegenereerd, is afhankelijk van het aantal visuals dat is vastgemaakt aan dashboards die afhankelijk zijn van de gegevensbron. Als beveiliging op rijniveau is ingeschakeld, worden query's gegenereerd voor elke verschillende beveiligingscontext. Denk bijvoorbeeld aan twee verschillende rollen die uw gebruikers categoriseren en ze hebben twee verschillende weergaven van de gegevens. Tijdens het vernieuwen van de querycache worden in Power BI twee sets query's gegenereerd.
Power BI-rapporten
Er zijn verschillende aanbevelingen voor het optimaliseren van Power BI-rapportontwerpen.
Notitie
Wanneer rapporten zijn gebaseerd op een semantisch DirectQuery-model, raadpleegt u de richtlijnen voor DirectQuery-modellen in Power BI Desktop (rapportontwerpen optimaliseren) voor aanvullende ontwerpoptimalisaties voor rapporten.
De meest beperkende filters toepassen
Hoe meer gegevens een visual moet weergeven, hoe langzamer deze visual moet worden geladen. Hoewel dit principe duidelijk lijkt, is het gemakkelijk om te vergeten. Stel dat u een groot semantisch model hebt. Op basis van dat semantische model maakt u een rapport met een tabel. Eindgebruikers gebruiken slicers op de pagina om de gewenste rijen te bereiken, meestal zijn ze slechts geïnteresseerd in enkele tientallen rijen.
Een veelvoorkomende fout is om de standaardweergave van de tabel ongefilterd te laten, dat wil gezegd, alle 100M+ rijen. De gegevens voor deze rijen worden in het geheugen geladen en worden bij elke vernieuwing niet gecomprimeerd. Deze verwerking zorgt voor enorme vraag naar geheugen. De oplossing: gebruik het filter Top N om het maximum aantal items te verminderen dat in de tabel wordt weergegeven. U kunt het maximum aantal items instellen op groter dan wat gebruikers nodig hebben, bijvoorbeeld 10.000. Het resultaat is dat de eindgebruikerservaring niet verandert, maar het geheugengebruik daalt aanzienlijk. En het belangrijkste is dat de prestaties verbeteren.
Een vergelijkbare ontwerpbenadering als hierboven wordt voorgesteld voor elke visual in uw rapport. Vraag het uzelf af, zijn alle gegevens in deze visual nodig? Zijn er manieren om de hoeveelheid gegevens in de visual te filteren met minimale gevolgen voor de eindgebruikerservaring? Vergeet niet dat tabellen in het bijzonder duur kunnen zijn.
Visuals op rapportpagina's beperken
Het bovenstaande principe is evenzeer van toepassing op het aantal visuals dat is toegevoegd aan een rapportpagina. Het wordt ten zeerste aanbevolen om het aantal visuals op een bepaalde rapportpagina te beperken tot alleen wat nodig is. Drillthrough-pagina's en knopinfo voor rapportpagina's zijn uitstekende manieren om extra details te bieden zonder dat er meer visuals op de pagina worden vastgelopen.
Aangepaste visuele prestaties evalueren
Zorg ervoor dat u elke aangepaste visual in zijn tempo plaatst om hoge prestaties te garanderen. Slecht geoptimaliseerde Power BI-visuals kunnen de prestaties van het hele rapport negatief beïnvloeden.
Gepagineerde Power BI-rapporten
Gepagineerde power BI-rapportontwerpen kunnen worden geoptimaliseerd door het best practice-ontwerp toe te passen op het ophalen van gegevens van het rapport. Zie richtlijnen voor het ophalen van gegevens voor gepagineerde rapporten voor meer informatie.
Zorg er ook voor dat uw capaciteit voldoende geheugen heeft toegewezen aan de workload voor gepagineerde rapporten.
De omgeving optimaliseren
U kunt de Power BI-omgeving optimaliseren door capaciteitsinstellingen te configureren, de grootte van gegevensgateways te wijzigen en de netwerklatentie te verminderen.
Capaciteitsinstellingen
Wanneer u capaciteiten gebruikt( beschikbaar met Power BI Premium (P-SKU's), PPU-licenties (Premium Per User) of Power BI Embedded (A SKU's, A4-A6)), kunt u capaciteitsinstellingen beheren. Zie Microsoft Fabric-capaciteitslicenties en Premium-capaciteiten beheren voor meer informatie.
Belangrijk
Soms verwijst dit artikel naar Power BI Premium of de capaciteitsabonnementen (P-SKU's). Houd er rekening mee dat Microsoft momenteel aankoopopties consolideert en de Power BI Premium-SKU's per capaciteit buiten gebruik stelt. Nieuwe en bestaande klanten moeten overwegen om in plaats daarvan F-SKU's (Fabric-capaciteitsabonnementen) aan te schaffen.
Zie Belangrijke update voor Power BI Premium-licenties en veelgestelde vragen over Power BI Premium voor meer informatie.
Grootte van gateway
Een gateway is vereist wanneer Power BI toegang moet hebben tot gegevens die niet rechtstreeks via internet toegankelijk zijn. U kunt de on-premises gegevensgateway op een on-premises server of iaaS (Infrastructure-as-a-Service) installeren op een on-premises server.
Zie De grootte van de on-premises gegevensgateway voor meer informatie over gatewayworkloads en aanbevelingen voor de grootte van de grootte.
Netwerklatentie
Netwerklatentie kan van invloed zijn op de rapportprestaties door de tijd te verhogen die nodig is voor aanvragen om de Power BI-service te bereiken en om reacties te leveren. Tenants in Power BI worden toegewezen aan een specifieke regio.
Tip
Als u wilt bepalen waar uw tenant zich bevindt, raadpleegt u Waar bevindt mijn Power BI-tenant zich?
Wanneer gebruikers van een tenant toegang hebben tot de Power BI-service, worden hun aanvragen altijd doorgestuurd naar deze regio. Wanneer aanvragen de Power BI-service bereiken, kan de service vervolgens aanvullende aanvragen verzenden, bijvoorbeeld naar de onderliggende gegevensbron of een gegevensgateway, die ook onderhevig zijn aan netwerklatentie.
Hulpprogramma's zoals Azure Speed Test bieden een indicatie van netwerklatentie tussen de client en de Azure-regio. Om de impact van netwerklatentie te minimaliseren, streeft u ernaar om gegevensbronnen, gateways en uw Power BI-capaciteit zo dicht mogelijk bij elkaar te houden. Bij voorkeur bevinden ze zich binnen dezelfde regio. Als netwerklatentie een probleem is, kunt u gateways en gegevensbronnen dichter bij uw Power BI-capaciteit zoeken door ze in de cloud gehoste virtuele machines te plaatsen.
Prestaties bewaken
U kunt de prestaties bewaken om knelpunten te identificeren. Trage query's (of rapportvisuals) moeten een centraal punt van continue optimalisatie zijn. Bewaking kan worden uitgevoerd tijdens het ontwerpen in Power BI Desktop of op productieworkloads in Power BI Premium-capaciteiten. Zie Rapportprestaties bewaken in Power BI voor meer informatie.
Gerelateerde inhoud
Raadpleeg de volgende bronnen voor meer informatie over dit artikel: