Delen via


DirectQuery in Power BI

Met DirectQuery in Power BI kunt u gegevens in de bron bewaren en query's uitvoeren op het moment van het rapport in plaats van deze te importeren. In dit artikel wordt uitgelegd wanneer u DirectQuery, de beperkingen en alternatieven zoals hybride tabellen, Direct Lake en liveverbindingen gebruikt, zodat u de juiste modus kunt kiezen.

In dit artikel wordt het volgende beschreven:

  • Power BI-modi voor gegevensconnectiviteit en waar DirectQuery past
  • Wanneer gebruikt u DirectQuery versus Importeren, hybride tabellen, Direct Lake of een liveverbinding
  • Beperkingen, implicaties en prestatieoverwegingen
  • Aanbevelingen voor modellering en rapportontwerp
  • Prestaties diagnosticeren en verbeteren

Notitie

DirectQuery is ook een functie van SQL Server Analysis Services. Hoewel er overeenkomsten zijn, richt dit artikel zich op DirectQuery met semantische Power BI-modellen.

Zie Samengestelde modellen gebruiken in Power BI Desktop voor meer informatie over samengestelde modellen. Download de PDF DirectQuery in SQL Server 2016 Analysis Services van Microsoft.

Handleiding voor snelle beslissingen

De volgende tabel bevat een overzicht van de power BI-connectiviteitsmodus die moet worden overwogen op basis van uw vereisten. Gebruik het als snelzoekgids om te kiezen tussen Importeren, DirectQuery, Hybride tabellen, Direct Lake of liveverbindingen:

Als u dat nodig hebt Overweeg eerst Waarom
Maximale flexibiliteit voor interactiviteit en volledige transformatie Import In-memory columnar engine en uitgebreide modelleringsfuncties
Bijna realtime wijzigingen in recente feitengegevens plus historische context Hybride tabel (Import- en DirectQuery-partitie) Query's voor dynamische gegevens en historische gegevens in de cache.
Grote lakehouse- of magazijnschaal met leesbewerkingen met lage latentie (Fabric) Direct Lake Geplande vernieuwing overslaan en importgedrag behouden
Federatieve toegang tot meerdere externe bronnen zonder volledige opname DirectQuery (samengesteld model) Laat gegevens op hun plaats en combineert bronnen.
Centraal beheerd ondernemingsmodel dat al is gepubliceerd Liveverbinding met semantisch datamodel of Microsoft Analysis Services Gebruikt gecureerd model opnieuw en vermijdt duplicatie.
Parameters pushen naar bron tijdens runtime (door gebruikers gestuurd filteren) DirectQuery met dynamische M-parameters Vermindert gescande gegevens en verbetert de prestaties.
Problemen met hoge gelijktijdigheid en afstandslatentie Importeren of aggregaties over DirectQuery Aggregaties versnellen gebruikelijke queries

Power BI-modi voor gegevensconnectiviteit

Power BI maakt verbinding met veel gegevensbronnen:

  • Onlineservices zoals Salesforce en Dynamics 365
  • Databases zoals SQL Server, PostgreSQL, MySQL, Oracle, Snowflake en Amazon Redshift
  • Bestanden (Excel, CSV, JSON, Parquet)
  • Big data- en analyse-engines zoals Spark en Databricks
  • Andere bronnen, zoals websites en Microsoft Exchange

Importeer gegevens uit deze bronnen. Sommige bieden ook ondersteuning voor DirectQuery. Zie Power BI-gegevensbronnen voor een onderhouden lijst. DirectQuery-bronnen leveren doorgaans interactieve geaggregateerde queryprestaties.

Gebruik standaard importeren. Het maakt gebruik van de krachtige in-memory engine van Power BI en biedt de rijkste functieset. Stap verder dan importeren wanneer specifieke beperkingen (latentie, grootte, governance, beveiliging of architectuur) dit vereisen.

Moderne verbeteringen, hybride tabellen, Direct Lake, automatische aggregaties, samengestelde modellen en incrementeel vernieuwen, verminderen hoe vaak u pure DirectQuery nodig hebt.

In de volgende secties worden de modi Import, DirectQuery en liveverbindingen beschreven. De rest van het artikel is gericht op DirectQuery, terwijl alternatieve benaderingen worden erkend.

Verbindingen importeren

Wanneer u gegevens importeert:

  • Gegevensselecties definiëren query's voor elke tabelset; u kunt ze bewerken (filteren, aggregeren, samenvoegen) voordat u ze laadt in het systeem.
  • Alle gegevens die door deze query's zijn gedefinieerd, worden geladen in de cache in het geheugen van het semantische model.
  • Het bouwen van visuals voert alleen query's uit op de gegevens in de cache, snel en volledig interactief.
  • Visuals weerspiegelen pas bronwijzigingen als u vernieuwt (opnieuw importeren).
  • Als u publiceert, wordt een semantisch model met de geïmporteerde gegevens geüpload. U kunt het vernieuwen plannen (afhankelijk van de licentie) en mogelijk heeft u een on-premises gegevensgateway nodig.
  • Bij het bouwen of openen van rapporten in de service worden de geïmporteerde gegevens gebruikt.
  • Vastgemaakte dashboardtegels worden vernieuwd wanneer het semantische model wordt vernieuwd.

DirectQuery-verbindingen

Wanneer u DirectQuery gebruikt:

  • Gegevens ophalen brengt een verbinding tot stand met een ondersteunde bron. Voor relationele bronnen kunt u nog steeds tabellen of weergaven selecteren; voor multidimensionale bronnen (bijvoorbeeld SAP BW) selecteert u het bronmodel.
  • Er worden geen gegevens geïmporteerd tijdens de laadtijd. Elke visual activeert een of meer query's naar de onderliggende bron.
  • De latentie voor het vernieuwen van visuals is volledig afhankelijk van de onderliggende bronprestaties (en de overhead van de netwerk/gateway, indien van toepassing).
  • Wijzigingen in brongegevens worden pas weergegeven nadat acties opnieuw worden uitgevoerd (navigatie, slicer-/filterwijzigingen, handmatig vernieuwen).
  • Publiceren maakt een semantische modeldefinitie (schema en metagegevens) zonder geïmporteerde gegevens.
  • Rapporten binnen de service raadplegen de bron. Mogelijk is een gateway vereist voor on-premises bronnen.
  • Dashboardtegels op basis van DirectQuery-modellen worden vernieuwd volgens een schema om tegelresultaten te cachen, zodat het dashboard snel geopend kan worden.
  • Dashboardtegels tonen de resultaten van de laatste geplande vernieuwing, tenzij handmatig vernieuwd.

Liveverbindingen

Een liveverbinding verbindt Power BI rechtstreeks met een bestaand semantisch model (bijvoorbeeld Analysis Services of een ander gepubliceerd semantisch Power BI-model). Het is vergelijkbaar met DirectQuery (geen geïmporteerde gegevens), maar semantiek (zoals het afdwingen van rollen) wordt verwerkt door het upstream-model. Wanneer u live verbinding maakt:

  • De volledige lijst met velden voor externe modellen wordt weergegeven, geen Power Query-querydefinitie.
  • Liveverbindingen geven altijd de identiteit van de gebruiker door aan Analysis Services of het semantische Power BI-model voor beveiligingsbeperkingen.
  • Sommige modelleringsactiviteiten (zoals het toevoegen van berekende tabellen) zijn niet beschikbaar omdat het model extern is.

Waar DirectQuery past bij nieuwere opties

DirectQuery was de primaire oplossing voor zeer grote of snel veranderende gegevens die u niet efficiënt kon importeren. Vandaag:

  • Met hybride tabellen kunt u in-memory en DirectQuery-partities combineren in één tabel (recent versus historisch).
  • Direct Lake (Fabric) biedt bijna realtime toegang tot lakehouse-tabellen zonder traditionele vernieuwingsoverhead.
  • Automatische aggregaties en handmatige aggregatietabellen versnellen het uitvoeren van frequente zoekopdrachten.
  • Met incrementele verversing met realtime kan DirectQuery het meest recente tijdvenster gebruiken terwijl oudere gegevens geïmporteerd blijven.

Evalueer deze opties voordat u een volledig DirectQuery-model gaat gebruiken.

DirectQuery-gebruiksvoorbeelden

DirectQuery is het nuttigst wanneer:

  • Gegevens worden te vaak gewijzigd voor import (zelfs bij incrementeel vernieuwen en de maximale geplande vernieuwingsfrequentie) en u hebt een lage latentie-zichtbaarheid nodig.
  • Gegevensvolume- of governancebeperkingen maken volledige opname onpraktisch.
  • Brongebaseerde beveiliging (fijnmazige rijregels) moet via passthrough gezaghebbend blijven.
  • Gegevenssoevereiniteit of regelgeving beperkt permanente volledige kopieën.
  • De bron is multidimensionaal of metinggericht (zoals SAP BW) en door de server gedefinieerde metingen moeten per visual worden omgezet.

Gegevens worden regelmatig gewijzigd en u hebt bijna realtime rapportage nodig

Geïmporteerde modellen (Pro) kunnen maximaal 8 vernieuwingen per dag plannen (plus triggers op aanvraag/API). Premium en PPU ondersteunen maximaal 48 geplande vernieuwingen per dag, plus incrementele vernieuwing en realtime DirectQuery voor de nieuwste partitie (hybride). Gebruik DirectQuery, Hybride tabellen of Direct Lake als aan uw vereiste latentie nog steeds niet kan worden voldaan, of als volledig importeren onhaalbaar is. DirectQuery-dashboards kunnen tegels zo vaak vernieuwen als elke 15 minuten.

Gegevens zijn groot

Het volledige importeren kan het geheugen overschrijden of vensters vernieuwen. DirectQuery voert query's in situ uit op gegevens. Als de bron te traag is voor interactieve prestaties, kunt u het volgende overwegen:

  • Alleen geaggregeerde of gefilterde subsets importeren.
  • Incrementeel vernieuwen en aggregaties gebruiken.
  • Hybride tabellen of Direct Lake gebruiken voor recente en hoogwaardige segmenten.

Zie Grote semantische modellen in Power BI Premium voor het beheren van grote in-memory gegevens.

Door bron afgedwongen beveiliging

Importeren is afhankelijk van Power BI-referenties plus optionele beveiliging op rijniveau (RLS) die zijn gedefinieerd in het semantische model. DirectQuery kan (indien ondersteund) gebruikersidentiteit (SSO) doorgeven, zodat de bron zijn eigen beveiligingsregels afdwingt. Zie Overzicht van eenmalige aanmelding (SSO) voor on-premises gegevensgateways in Power BI.

Beperkingen voor gegevenssoevereiniteit

Wanneer voorschriften vereisen dat gegevens binnen een gecontroleerde grens blijven, beperkt DirectQuery het aantal opgeslagen kopieën. Visual- en tegelcaches kunnen nog steeds beperkte geaggregeerde gegevens bevatten.

Bron met door de server gedefinieerde metingen

Sommige systemen (zoals SAP BW) bevatten semantische logica (metingen en hiërarchieën) die u tijdens het uitvoeren van query's oplost. DirectQuery maakt resolutie per visueel element mogelijk. Zie DirectQuery en SAP BW en DirectQuery en SAP HANA.

Bronspecifieke overwegingen (inclusief PostgreSQL en MySQL)

Gedrag en prestaties verschillen per engine:

  • PostgreSQL: Identifiers tussen aanhalingstekens zijn hoofdlettergevoelig. Zorg ervoor dat er juiste b-tree-indexen zijn voor join- en filterkolommen. Vermijd functies die het vouwen van query's vroeg onderbreken. Controleer op impliciete casts voor tekst en numerieke joins.
  • MySQL: Gebruik consistente sorteringen en SQL-modi. Samengestelde indexen maken voor algemene filter- en joinpatronen. Grote TEXT kolommen kunnen het vouwen verminderen of postverwerking afdwingen.
  • Snowflake, BigQuery en Databricks: Elastisch schalen verbetert gelijktijdigheid, maar latentie bij koude start kan van invloed zijn op de eerste query. Verstuur warming-up pings of plan periodieke activiteiten.
  • Azure Synapse, SQL en Fabric Warehouse: Columnstore-indexen en caching van resultatensets bieden sterke versnelling. Koppel ze aan automatische aggregaties.
  • Azure Data Explorer: Projectie-filtering is belangrijk. Selecteer alleen de vereiste kolommen en pas filters vroeg toe.
  • SAP BW en SAP HANA: Metingen en hiërarchie-semantiek bepalen querypatronen. Vermijd transformaties met lagen die vouwen blokkeren.

Bevestig het vouwen van query's (selecteer Systeemeigen query weergeven in De Power Query-editor), zodat transformaties omlaag worden gepusht.

Beperkingen voor DirectQuery

Het gebruik van DirectQuery heeft gevolgen voor consistentie, prestaties, beveiliging, transformaties, modellering en rapportage.

Algemene implicaties

De volgende algemene gevolgen zijn van toepassing bij het gebruik van DirectQuery in Power BI:

  • Vernieuwen om de meest recente gegevens weer te geven. Caches (visual, tegel, resultaat) zorgen ervoor dat een visuele weergave eerdere resultaten kan weergeven totdat deze wordt vernieuwd. Selecteer Vernieuwen om alle visuals op een pagina opnieuw op te vragen.
  • Visuals zijn niet altijd tijdsconsistent. Verschillende visuals (of interne query's in één visual) kunnen op enigszins verschillende momenten worden uitgevoerd. Vernieuw de pagina of ontwerp geaggregeerde momentopnamen als strikte nauwkeurigheid van een bepaald tijdstip is vereist.
  • Voor schemawijzigingen moet Power BI Desktop worden vernieuwd. De service detecteert niet automatisch verwijderde of hernoemde kolommen. Open het model in Power BI Desktop en vernieuw het om modelmetagegevens af te stemmen.
  • Tussenliggende resultaatlimiet van één miljoen rijen. Elke query (of tussenliggende bewerking) die meer dan 1.000.000 rijen retourneert, mislukt. Premium-capaciteiten kunnen deze limiet verhogen: zie Maximumaantal tussenliggende rijensets.
  • Het wijzigen van de opslagmodus is beperkt. U kunt een alleen-importmodel niet globaal overzetten naar DirectQuery. Bekijk de volgende sectie.

Belangrijk

Omdat de engine die gegevens opslaat en opvraagt in Power BI niet hoofdlettergevoelig is, moet u er speciaal voor zorgen wanneer u in de DirectQuery-modus met een hoofdlettergevoelige bron werkt. In Power BI wordt ervan uitgegaan dat de bron dubbele rijen heeft geëlimineerd. Omdat Power BI niet hoofdlettergevoelig is, worden twee waarden behandeld die alleen per geval verschillen als duplicaat, terwijl de bron deze mogelijk niet als zodanig behandelt. In dergelijke gevallen is het uiteindelijke resultaat niet gedefinieerd.

Om deze situatie te voorkomen, kunt u, als u de DirectQuery-modus gebruikt met een hoofdlettergevoelige gegevensbron, hoofdlettergebruik normaliseren in de bronquery of in de Power Query-editor.

Opslagmodi wijzigen (DirectQuery importeren ↔)

U kunt een volledig importmodel niet in-/uitschakelen naar DirectQuery. In plaats van:

  • Voeg een nieuwe DirectQuery-verbinding toe aan dezelfde bron en wijs visuals toe aan nieuwe tabellen.
  • Een samengesteld model maken: importdimensies behouden, DirectQuery-feitentabellen toevoegen (of omgekeerd) en eventueel enkele tabellen instellen op Dual.
  • Gebruik hybride tabellen (recente DirectQuery-partities en historische import) voor dynamische en koude optimalisatie.
  • Herbouwen met vouwvriendelijke transformaties als eerdere stappen DirectQuery voorkomen.

Notitie

Afzonderlijke tabellen die via een directQuery-compatibele verbinding worden toegevoegd, kunnen schakelen tussen DirectQuery, Import en Dual als alle toegepaste transformaties nog steeds worden gevouwen.

Gevolgen voor prestaties en belasting

Interactieve prestaties zijn afhankelijk van de bronlatentie en gelijktijdigheid. Streven naar algemene vernieuwingstijden van visuele elementen minder dan 5 seconden; meer dan 30 seconden verslechtert de bruikbaarheid. Elke gebruikersactie veroorzaakt queries. Hoge aantallen gebruikers-, visual- en tegelvernieuwingen kunnen aanzienlijke belasting creëren. Stem de capaciteit hierop af.

Gevolgen voor beveiliging

Tenzij SSO is geconfigureerd, gebruikt DirectQuery de geconfigureerde opgeslagen referentie voor alle kijkers. Definieer RLS in het semantische model indien nodig. Meerdere bronnen in samengestelde modellen kunnen gegevens verplaatsen tussen bronnen; gevoelige gegevensverplaatsing beoordelen: zie gevolgen voor beveiliging.

Beperkingen voor gegevenstransformatie

Power Query Folding is vereist voor schaalbare prestaties. Transformaties moeten worden omgezet in één systeemeigen query. Complexe stappen (niet-vervouwen bewerkingen, bepaalde aangepaste functies, procedurelogica met meerdere stappen) kunnen fouten veroorzaken waarvoor vereenvoudiging is vereist of die moeten worden overgeschakeld naar Import. OLAP-bronnen zoals SAP BW weigeren transformaties in query's omdat het hele externe model beschikbaar wordt gesteld. Opgeslagen procedure-aanroepen en algemene tabelexpressies (CTE's) worden niet ondersteund op een manier die vouwen in DirectQuery toestaat.

Modelleringsbeperkingen

De meeste verrijking werkt, maar sommige mogelijkheden zijn beperkt:

  • Geen automatische datumhiërarchie (expliciete datumtabel maken).
  • Tijdsprecisie beperkt tot seconden (milliseconden bij bron verwijderen).
  • Berekende kolommen beperkt tot expressies op rijniveau die kunnen worden gevouwen; niet-ondersteunde functies worden weggelaten uit de automatische aanvulling.
  • Geen ouder-kind PATH-functies.
  • Clustering wordt niet ondersteund.

Rapportagebeperkingen

De meeste visuals werken als de bron reageert. Bekijk deze beperkingen en prestatieoverwegingen:

  • Lange tekstkolommen die langer zijn dan 32.764 tekens, worden niet ondersteund.
  • Metingsfilters, TopN-filters, Mediangeavanceerde tekst bevat/begint filters, slicers met meerdere selecties en totalen/subtotalen (met name met DistinctCount) kunnen extra query's toevoegen of prestaties verminderen.
  • Overweeg het ontwerp te vereenvoudigen of bepaalde interacties uit te schakelen.

Voorbeeld (maateenheidfilter):

Schermopname van een Power BI-visual waarop een metingfilter is toegepast om extra queryoverhead te illustreren.

Aanbevelingen voor DirectQuery

Deze sectie bevat praktische aanbevelingen voor het ontwerpen, optimaliseren en oplossen van problemen met DirectQuery-modellen in Power BI. Volg deze richtlijnen om de prestaties, betrouwbaarheid en gebruikerservaring te verbeteren bij het werken met DirectQuery-verbindingen.

Prestaties van onderliggende gegevensbronnen

Valideer interactieve query's op de basislijn. Als ze traag zijn, inspecteert u query's met Behulp van Performance Analyzer en optimaliseert u het bronschema (indexen, statistieken en columnstore indien van toepassing). Geef de voorkeur aan gehele getallen voor joins.

Modelontwerp

  • Houd Power Query-stappen eenvoudig en vouwbaar. Bekijk vaak de native query.
  • Begin met eenvoudige metingen en herhaal deze.
  • Vermijd joins op kolommen met berekende expressies, materialiseer de bron indien nodig.
  • Vermijd joins op uniqueidentifier waarbij casts het gebruik van indexen verstoren; gebruik alternatieve sleuteltypen.
  • Surrogaat-/systeemsleutels verbergen; maak indien nodig zichtbare aliaskolommen.
  • Bekijk berekende tabellen/kolommen die niet-vouwbare expressies kunnen produceren.
  • Beperk bidirectionele filters alleen tot vereiste gevallen. Test de impact op de prestaties.
  • Overweeg de referentiële integriteit te waarborgen om het gebruik mogelijk te maken INNER JOIN .
  • Vermijd relatieve datumfilters in Power Query. Implementeer in plaats daarvan relatieve logica in de model- of rapportlaag.

Filtervoorbeeld:

Schermopname van het filteren van een Power Query-stap voor de afgelopen 14 dagen om weer te geven hoe relatieve datumlogica een vaste letterlijke waarde wordt.

De resulterende systeemeigen query maakt gebruik van een vaste letterlijke datum:

Schermopname van de native SQL-query die is gegenereerd met een vaste datumliteral na het toepassen van een relatief datumsfilter in Power Query.

Rapportontwerp

Houd bij het ontwerpen van rapporten met DirectQuery rekening met de volgende aanbevolen procedures om de bruikbaarheid en prestaties te optimaliseren:

  • Gebruik opties voor het verminderen van query's (gebruik de knop Toepassen voor slicers en filters en schakel kruislings markeren uit waarbij latentie de ervaring pijn doet).

    Schermopname van opties voor het verminderen van Power BI Desktop-query's met instellingen voor het vertragen van slicer- en filterquery's.

  • Pas sleutelfilters vroeg toe om het aantal tussenliggende rijen te verminderen en limieten te voorkomen.

  • Beperk visuals op een pagina om parallelle en seriële query's te minimaliseren.

  • Schakel onnodige interacties (kruislings filteren of markeren) uit als ze dure bronquery's activeren.

    Schermopname van twee visuals die crossfiltering en highlighting-interacties demonstreren, welke meerdere bronquery's kunnen activeren.

Maximum aantal verbindingen

DirectQuery-gelijktijdigheid per bestand aanpassen (standaard 10) in Bestandsopties > en -instellingen > Opties > DirectQuery voor het huidige bestand.

Schermopname van de instelling voor het maximum aantal DirectQuery-verbindingen per gegevensbron in Power BI Desktop-opties.

Hogere waarden kunnen de doorvoer voor veel visuals verbeteren, maar ze kunnen ook de bronbelasting verhogen. Gepubliceerd gedrag is ook afhankelijk van service- of capaciteitslimieten.

Omgeving Bovengrens per gegevensbron
Power BI Pro 10 actieve verbindingen
Power BI Premium Afhankelijk van de beperking van de stock-keeping unit (SKU) in het semantische model
Power BI Report Server 10 actieve verbindingen

Notitie

De maximale instelling voor DirectQuery-verbindingen is van toepassing op alle DirectQuery-bronnen wanneer verbeterde metagegevens zijn ingeschakeld (standaard voor nieuwe modellen).

Functies voor prestatiedemping

Gebruik deze functies om directQuery-prestaties te verbeteren:

  • Automatische aggregaties en handmatige aggregatietabellen: Samengevatte gegevens in de cache opslaan om bronquery's te verminderen.
  • Hybride tabellen: Recente gegevens onderhouden via DirectQuery, historisch via Importeren.
  • Ontwerp voor aggregatiebewuste metingen: Zorg ervoor dat DAX waar mogelijk evalueert op de aggregatielaag.
  • Dynamische M-parameters: Doorvoer gebruikersselecties vroegtijdig naar bronpredicaten.
  • Cache van query's en resultaten (capaciteitsinstellingen): Recente resultatensets opnieuw gebruiken voor herhaalde visuals.
  • Dubbele opslagmodus voor gedeelde dimensietabellen: Verminder herhaalde externe dimensiescans.

DirectQuery in de Power BI-service

Alle DirectQuery-gegevensbronnen worden ondersteund via Power BI Desktop. Alleen een beperkte subset begint rechtstreeks vanuit de gebruikersinterface van de service. Begin in Power BI Desktop voor uitgebreidere modellerings- en transformatiebeheer. Zie Power BI-gegevensbronnen voor de huidige lijst met bronnen die rechtstreeks in de service beschikbaar zijn.

Prestaties in de service zijn afhankelijk van:

  • Aantal gelijktijdige gebruikers
  • Complexiteit en telling van visuele elementen per pagina
  • Aanwezigheid van beveiliging op rijniveau (kan het hergebruik van cache verminderen)
  • Planningen voor tegelvernieuwing

Gedrag van rapporten in de Power BI-service

Wanneer u een rapportpagina opent, worden query's uitgevoerd voor elke visual (soms meerdere visuals). Interacties (slicerwijzigingen, kruislings markeren, filters) voeren de query's opnieuw uit. De service slaat enkele resultaten in de cache op. Exacte herhalingsquery's kunnen direct worden geretourneerd, tenzij de beveiligingsgrenzen verschillen.

Nuances van mogelijkheden

  • Snelle inzichten: Niet ondersteund voor semantische DirectQuery-modellen.
  • Verkennen in Excel/Analyseren in Excel: Ondersteund, maar kan langzamer aanvoelen. Overweeg de importmodus of aggregaties voor intensief Excel-gebruik.
  • Hiërarchieën in Excel: Sommige semantische DirectQuery-modelhiërarchieën worden niet hetzelfde weergegeven in Excel.

Dashboard vernieuwen

DirectQuery-tegels worden volgens een schema vernieuwd. De standaardwaarde is elk uur en u kunt deze instellen van elke 15 minuten tot wekelijks. Met beveiliging op rijniveau voert elke gebruiker afzonderlijke tegelqueries uit. Een hoog aantal tegels vermenigvuldigd met het aantal gebruikers en de vernieuwingsfrequentie kan zware belasting creëren: plan capaciteit en overweeg aggregaties.

Time-outs voor query’s

De service dwingt een time-out van 4 minuten af per query. Visuals die de limiet overschrijden, mislukken door een time-outfout. Zorg ervoor dat onderliggende bronnen interactieve prestaties bieden voordat u DirectQuery kiest.

Diagnostische gegevens over prestaties

Prestaties eerst diagnosticeren in Power BI Desktop.

Gebruik Performance Analyzer om trage visuals te isoleren. Richt u op één problematisch visueel element tegelijk.

SQL Server Profiler gebruiken om query's te bekijken

Power BI Desktop schrijft sessietraceringen, waaronder DirectQuery SQL voor sommige bronnen, naar het FlightRecorderCurrent.trc-bestand in de map AnalysisServicesWorkspaces van de gebruiker.

Schermopname van SQL Server Profiler met traceringsgebeurtenissen met DirectQuery- en DAX-activiteitsduur.

Om het spoor te vinden:

  1. Selecteer in Power BI Desktop Bestand > Opties en instellingen > Opties > Diagnostiek.

  2. Selecteer Open crashdump-/traceerbestandsmap.

    Schermopname van het dialoogvenster Diagnostische opties in Power BI Desktop met een koppeling om de map traceringen te openen.

  3. Ga één niveau omhoog naar AnalysisServicesWorkspaces, open de map actieve werkruimte, vervolgens Data en zoek FlightRecorderCurrent.trc.

  4. Open in SQL Server Profiler het bestand: File > Open > Trace File.

Profiler geeft gegroepeerde gebeurtenissen weer:

Schermopname van Profiler-gebeurtenissen gegroepeerd op ActivityID met DAX-query en DirectQuery SQL-begin- en eindgebeurtenissen.

Gebeurteniskolommen:

  • TextData: DAX (voor Query Begin/End) of systeemeigen SQL (voor DirectQuery Begin/End).
  • Duur (ms) en EndTime helpen trage fasen vast te stellen.
  • ActivityID groepeert gerelateerde gebeurtenissen.

Richtlijnen voor vastleggen:

  • Houd sessies kort (≈10 seconden aan gerichte acties).
  • Open het traceringsbestand opnieuw om zojuist leeggemaakte gebeurtenissen weer te geven.
  • Vermijd meerdere gelijktijdige desktopexemplaren om verwarring te verminderen.

Inzicht in de indeling van query's

Power BI maakt vaak gebruik van een subselectie (afgeleide tabel) voor elke logische tabel waarnaar wordt verwezen door Power Query-stappen.

Schermopname van voorbeeldtabellen TPC-DS tabellen in SQL Server die worden gebruikt om gegenereerde SQL-patronen voor DirectQuery-visuals te illustreren.

Voorbeeldquerylogica:

SalesAmount (SUMX(Web_Sales, [ws_sales_price]*[ws_quantity]))
by Item[i_category]
for Date_dim[d_year] = 2000

Resulterende visual:

Schermopname van een voorbeeldvisual die de verkoophoeveelheid per itemcategorie voor een bepaald jaar samenvoegt.

Gegenereerde SQL met subselecties:

Schermopname van een gegenereerde SQL-query met subselecties die gevouwen Power Query-tabeldefinities vertegenwoordigen.

Subselect query patronen beïnvloeden de prestaties van ondersteunde engines meestal niet nadelig, omdat optimalisatoren ongebruikte kolommen elimineren. Prioriteit geven aan vouwbaarheid.

Notitie

Dit artikel bevat algemene richtlijnen voor DirectQuery in Power BI. Valideer altijd de prestaties en het gedrag van DirectQuery met uw specifieke gegevensbron, schema, indexen, workload en gelijktijdigheidsvereisten voordat u in productie implementeert.