Scenario's voor DirectQuery-optimalisatie met het lint Optimaliseren
In dit artikel doorlopen we verschillende scenario's voor het ontwerpen van DirectQuery-rapporten die laten zien hoe u uw ervaring kunt stroomlijnen met het lint Optimaliseren in Power BI Desktop. Met het lint Optimaliseren kunt u bepalen wanneer visuals worden vernieuwd met de functies Visuals onderbreken en Visuals vernieuwen, Optimalisatie-voorinstellingen gebruiken om snel vooraf gedefinieerde instellingen toe te passen en Performance Analyzer eenvoudig te starten om dieper in te gaan op de query's zelf, inclusief de SQL-query's die DirectQuery genereert. We laten ook zien hoe u relaties rechtstreeks in het deelvenster Eigenschappen van de modelweergave kunt bewerken zonder query's uit te voeren om een voorbeeld van de gegevens te bekijken of te valideren.
Voordat u deze scenario's doorloopt, moet u eerst het lint Optimaliseren in Power BI Desktop bekijken. Dit biedt een geweldige inleiding tot deze interessante functies.
Een DirectQuery-rapport wijzigen zonder query's uit te voeren
Laten we eerst eens kijken hoe we de prestaties van het ontwerpen van rapporten kunnen verbeteren door visuals te onderbreken, zodat ze geen query's naar de gegevensbron verzenden telkens wanneer we een wijziging aanbrengen. In het lint Optimaliseren selecteren we Visuals onderbreken. Wanneer deze zijn onderbroken, worden visuals alleen bijgewerkt als ze geen query hoeven te verzenden. Als de visual wel een query moet verzenden, voert de visual in plaats daarvan de status In behandeling in. Wanneer de visual in behandeling is, wordt nog steeds weergegeven hoe deze eruit zag voordat de wijziging werd geïntroduceerd, alleen voor context en worden de knopinfo ook uitgeschakeld, zodat ze ook geen query's verzenden. We kunnen nu meerdere kolommen of metingen toevoegen of verwijderen in de veldbron, de velden opnieuw ordenen en zelfs de visual filteren met behulp van het deelvenster Filter en er worden geen query's verzonden.
Als u klaar bent met het aanbrengen van al deze wijzigingen, selecteren we Vernieuwen in de visual om een query slechts eenmaal te verzenden, selecteert u Vernieuwen op de banner of het lint om alle visuals op de pagina slechts één keer te laten verzenden of selecteert u visuele query's hervatten op de banner of onderbroken visuals op het lint Optimaliseren , zodat alle visuals een query verzenden om nu bij te werken en query's blijven verzenden met eventuele andere wijzigingen.
Laten we eens kijken naar de werkstroom Visuals onderbreken:
Tip: Soms zijn afbeeldingen op een pagina moeilijk te zien. Zorg ervoor dat u de zoomfunctie van uw browser gebruikt.
In de volgende animatie laten we zien hoe twee metingen, tarief en gemiddelde rit per reis, worden toegevoegd aan twee van de knopinfo van de visual op de pagina, deze opnieuw ordenen in de veldbron en vervolgens de visuals uit de banner hervatten.
Zonder visuals onderbreken wordt telkens wanneer een meting wordt toegevoegd of verplaatst in de bron Velden, een nieuwe visuele query verzonden naar de DirectQuery-gegevensbron. Dat zijn drie query's voor elke visual, dus in dit geval worden er zes query's verzonden. Door visuals onderbreken te gebruiken, telkens wanneer een meting wordt toegevoegd of verplaatst, worden er geen query's verzonden. Er worden slechts twee query's verzonden wanneer het rapport wordt hervat. Voor deze eenvoudige wijziging van het rapport bespaart het niet uitvoeren van de vier extra query's tijd en verspilt u geen waardevolle gegevensbronresources.
Nieuwe visuals maken zonder een query uit te voeren
In het lint Optimaliseren selecteren we Visuals onderbreken. Vervolgens voegen we een nieuwe matrixvisual toe vanuit het deelvenster Visualisatie en voegen we vervolgens Trips, Dag van de week en Tijd van de dag toe aan onze nieuwe matrixvisual. Wanneer de matrixvisual is onderbroken, wordt de status In behandeling ingevoerd. Er worden geen query's verzonden. Nu worden de velden opnieuw gerangschikt, maar nogmaals, er worden geen query's verzonden. Laten we het deelvenster Filter openen, het jaar inbrengen en vervolgens filteren op het jaar 2013. Op dit moment is het zien van de visual handig voordat u meer wijzigingen aanbrengt. We kunnen Vernieuwen selecteren in de banner met visuals in behandeling of het selectiedeelvenster openen om de visual daar te vernieuwen. We hebben slechts één query verzonden en de query is vooraf gefilterd, waardoor de retourtijd wordt versneld en de impact op de gegevensbron wordt verminderd. We kunnen opmaakwijzigingen aanbrengen in de visual en zelfs in de onderbroken status van het rapport worden deze wijzigingen weergegeven omdat een DAX-query niet nodig is. Het toevoegen van een wijziging in achtergrondkleuropmaak heeft echter een query nodig, zodat de visual de status In behandeling krijgt. Wanneer u klaar bent, kunnen we visuele query's vernieuwen of hervatten om de uiteindelijke matrixvisual te zien.
Visuals onderbreken gebruiken bij het maken van nieuwe visuals
Zonder visuals onderbreken te gebruiken, wordt telkens wanneer een meting of kolom wordt toegevoegd of verplaatst in de bron Velden, een nieuwe visuele query verzonden naar de DirectQuery-gegevensbron. Dat zijn zes query's voordat we begonnen met opmaken, en vijf van die query's zijn voordat we de visual in één jaar hebben gefilterd. Nu met visuals onderbreken, telkens wanneer de meting of kolom wordt toegevoegd of verplaatst, worden er geen query's verzonden. Er worden slechts twee query's verzonden wanneer de visual wordt vernieuwd of het rapport wordt hervat. Ze zijn gefilterde query's. Voor deze nieuwe visuele toevoeging hebben we niet alleen de extra query's bespaard en geen waardevolle gegevensbronresources verspild, maar ook een kleinere, gerichte query uitgevoerd en de visual geformatteerd met minimale onderbrekingen.
Metingen maken zonder dat de visuals worden vernieuwd
Net als bij het vorige scenario selecteren we in het lint Optimaliseren de optie Visuals onderbreken om ervoor te zorgen dat het rapport de status Onderbroken heeft. Normaal gesproken worden in een DirectQuery-rapport alle visuals op de rapportpagina vernieuwd wanneer een nieuwe meting wordt gemaakt. Maar met het rapport met een onderbroken status kunnen we nieuwe metingen maken zonder dat er query's worden verzonden. De visuals hebben in plaats daarvan de status In behandeling. We kunnen de metingen toevoegen aan de visuals die in behandeling zijn. Vervolgens kunnen we een afzonderlijke visual vernieuwen om resultaten te zien met de nieuwe metingen of gewoon visuele query's hervatten wanneer u klaar bent.
Visuals onderbreken gebruiken bij het maken van nieuwe metingen
Zonder visuals onderbreken te gebruiken, telkens wanneer een meting wordt gemaakt, verzenden alle visuals query's naar de DirectQuery-gegevensbron. Dat zijn vijf visuals op de pagina die vijf query's verzenden met elke modelwijziging. Dit zijn veel query's bij het maken van slechts twee nieuwe metingen en het toevoegen van deze metingen aan één visual. Telkens wanneer een meting wordt gemaakt of toegevoegd aan een visual, worden er geen query's verzonden wanneer er visuals worden gemaakt of toegevoegd aan een visual. Er worden slechts zes query's verzonden wanneer de ene visual wordt vernieuwd en vervolgens het rapport wordt hervat. Voor deze modelleringswijzigingen zien we een aanzienlijke vermindering van query's en tijd die wacht tot die query's gegevens retourneren. We hebben ook de workload voor de gegevensbron aanzienlijk verminderd.
Relaties tussen DirectQuery-tabellen bewerken
Als u een relatie tussen twee DirectQuery-tabellen in de modelweergave in Power BI Desktop wilt bewerken, kunt u nu gewoon op de relatielijn tussen deze tabellen selecteren om deze te bewerken in het deelvenster Eigenschappen . We kunnen de tabel, kolom, kardinaliteit, richting wijzigen, actief of inactief maken en zelfs referentiële integriteit inschakelen als elke tabel geen waarden mist die aanwezig zijn in de andere tabel. Wanneer u klaar bent, selecteren we Wijzigingen toepassen. U kunt ook Ctrl ingedrukt houden om meerdere relaties te selecteren om bulksgewijs wijzigingen aan te brengen in het eigenschappenvenster of om ze te verwijderen met de toets Verwijderen.
Relaties bewerken in het deelvenster Eigenschappen
Zonder relaties in het deelvenster Eigenschappen te kunnen bewerken, worden query's verzonden wanneer een relatie wordt gewijzigd bij het openen van de dialoog om het voorbeeld van de gegevens weer te geven. Bij elke tabel- of kolomwijziging worden query's verzonden om de kardinaliteit en de richting van de relatie te valideren. Nu met optimalisatie, bij het bewerken van relaties in het deelvenster Eigenschappen, verzenden we geen query's en wordt de relatie alleen gevalideerd wanneer deze gereed is en we hebben de knop Wijzigingen toepassen geselecteerd.
Instellingen voor het verminderen van query's toepassen
Als we de vervolgkeuzelijst Optimalisatieinstellingen in het lint Optimaliseren selecteren en vervolgens Queryreductie voor ons rapport selecteren, wordt er een dialoogvenster weergegeven met een beschrijving van de instellingen die worden toegepast.
Kruislings markeren en kruislings filteren is hoe visuals met elkaar communiceren wanneer een gegevenspunt wordt geselecteerd. De standaardinstelling is dat Power BI Desktop kruislings wordt gemarkeerd. We kunnen de standaardinstelling wijzigen in kruislings filteren door naar Bestandsopties>en Instellingen> Instellingen voor rapportopties> te gaan en vervolgens de standaardvisual-interactie wijzigen te selecteren van kruislings markeren tot kruislings filteren.
Optimalisatievoorinstellingen schakelen standaard kruislings markeren en kruislings filteren alleen uit, zodat aanpassingen op het niveau van de visual met interacties bewerken niet worden beïnvloed. Als we een visual (1) selecteren om het lint Opmaak weer te geven en vervolgens Interacties bewerken (2) selecteren, worden opties weergegeven voor andere visuals in het rapport (3). Vervolgens kunnen we bepalen hoe ze worden gewijzigd wanneer een gegevenspunt in de visual wordt geselecteerd. In dit geval, van kruislings filteren of kruislings markeren tot helemaal niet communiceren. Laten we eens kijken naar de werkstroom:
Als we een van de bewerkingsinteracties hadden aangepast, zou de standaardinstelling Optimalisatie voor het uitschakelen van kruislings markeren en kruislings filteren deze aanpassing niet wijzigen. Elke aangepaste bewerkingsinteractie tussen visuals werkt nog steeds net zoals voorheen.
Vervolgens voegen we knoppen Toepassen toe aan de slicers. Elke slicer in ons rapport heeft nu een knop Toepassen en gebruikers kunnen meerdere opties in elke slicer selecteren of de selectie opheffen en geen andere visual in het rapport hebben om een query te verzenden totdat de knop Toepassen is geselecteerd. De slicers zijn nog steeds onafhankelijk van elkaar, dus als we twee slicers met knoppen Toepassen hebben, moet elke knop Toepassen worden geselecteerd om de slicerselecties toe te passen.
Knoppen toepassen worden toegevoegd aan het deelvenster Filter. Met de knop Filterdeelvenster zijn besturingselementen toegevoegd aan alle filterselecties in het deelvenster, maar met slechts één knop Toepassen. Zie Opmaakfilters in Power BI-rapporten - Knop Filters toepassen voor meer informatie.
Instellingen voor het verminderen van query's wijzigen
In het lint Optimaliseren selecteren we Voorinstellingen voor optimalisatie en vervolgens Aanpassen om een van de instellingen te wijzigen. In ons rapport zijn de slicers voor één selectie en zijn de knoppen Toepassen handiger bij meervoudige selectie, zodat we de andere instellingen kunnen behouden en de slicers kunnen retourneren om direct toe te passen met Aanpassen.
Terugzetten om direct slicers toe te passen
Terugkeren naar volledige interactiviteit nadat een gegevensbron is gewijzigd
In het lint Optimaliseren selecteren we Voorinstellingen voor optimalisatie en vervolgens Interactiviteit voor ons rapport. Dit zijn de standaardinstellingen in Power BI Desktop, dus als we queryreductie hebben gekozen of aangepast om de standaardinstellingen voor optimalisatie te wijzigen, is dit hoe we terugkeren naar de standaardinstelling. De dialoog bevestigt onze instellingen.
De voorinstelling voor optimalisatie van interactiviteit instellen.
In dit geval noemen we specifiek DirectQuery-rapportagescenario's, maar kunnen ze worden gebruikt in andere rapportagescenario's.
Voor een specifieke visual kunnen we bepalen of deze DirectQuery gebruikt met Performance Analyzer om te zien of er een directqueryrij is. U kunt hier zien dat DirectQuery wordt gebruikt om gegevens voor onze visual te retourneren:
Community
U hebt met deze scenario's gezien hoe u uw ontwerpervaring in Power BI Desktop kunt stroomlijnen met het lint optimaliseren en relaties bewerken in het deelvenster Eigenschappen. Zorg ervoor dat u ze eens probeert met uw eigen DirectQuery-rapporten.
Wilt u meer informatie of misschien uw eigen scenario delen? Power BI heeft een levendige community waar MVP's, BI-professionals en peers expertise delen in discussiegroepen, video's, blogs en meer. Bekijk Power BI-community.
U kunt ook bijdragen! Met Microsoft Learn is Power BI-documentatie zoals dit artikel opensource. Voor meer informatie over hoe u een bijdrage kunt leveren, moet u de gids voor inzenders van Microsoft Learn-documentatie bekijken.