DirectQuery gebruiken in Power BI Desktop

Wanneer u verbinding maakt met een gegevensbron met Power BI Desktop, kunt u een kopie van de gegevens importeren. Voor sommige gegevensbronnen kunt u ook rechtstreeks verbinding maken met de gegevensbron zonder gegevens te importeren met behulp van DirectQuery.

Als u wilt bepalen of een gegevensbron DirectQuery ondersteunt, bekijkt u de volledige lijst met beschikbare gegevensbronnen in het artikel Verbinding maken ors in Power Query die ook van toepassing is op Power BI, selecteert u het artikel waarin de gegevensbron wordt beschreven waarin u geïnteresseerd bent in de lijst met ondersteunde connectors. Raadpleeg vervolgens de sectie in het artikel met de titel Ondersteunde mogelijkheden van die connector. Als DirectQuery niet wordt vermeld in die sectie voor het artikel van de gegevensbron, wordt DirectQuery niet ondersteund voor die gegevensconnector.

Hier volgen de verschillen tussen het gebruik van import- en DirectQuery-connectiviteitsmodi:

  • Importeren: Een kopie van de gegevens uit de geselecteerde tabellen en kolommen importeert in Power BI Desktop. Wanneer u visualisaties maakt of gebruikt, gebruikt Power BI Desktop de geïmporteerde gegevens. Als u onderliggende gegevenswijzigingen wilt zien na de initiële import of de meest recente vernieuwing, moet u het volledige semantische model opnieuw importeren om de gegevens te vernieuwen.

  • DirectQuery: Er worden geen gegevens geïmporteerd in Power BI Desktop. Voor relationele bronnen kunt u tabellen en kolommen selecteren die moeten worden weergegeven in de lijst met Power BI Desktop-velden. Voor multidimensionale bronnen zoals SAP Business Warehouse (SAP BW) worden de dimensies en metingen van de geselecteerde kubus weergegeven in de lijst Velden . Wanneer u visualisaties maakt of gebruikt, voert Power BI Desktop een query uit op de onderliggende gegevensbron, zodat u altijd de huidige gegevens bekijkt.

Wanneer u met DirectQuery een visualisatie maakt of gebruikt, moet u een query uitvoeren op de onderliggende bron. De tijd die nodig is om de visualisatie te vernieuwen, is afhankelijk van de prestaties van de onderliggende gegevensbron. Als de gegevens die nodig zijn om de aanvraag te verwerken onlangs zijn aangevraagd, worden in Power BI Desktop de recente gegevens gebruikt om de tijd te verkorten die nodig is om de visualisatie weer te geven. Als u Vernieuwen selecteert op het lint Start, worden alle visualisaties met huidige gegevens vernieuwd.

Veel gegevensmodellering en gegevenstransformaties zijn beschikbaar bij het gebruik van DirectQuery, maar met een aantal beperkingen op basis van prestaties. Zie DirectQuery in Power BI voor meer informatie over DirectQuery-voordelen, -beperkingen en -aanbevelingen.

Voordelen van DirectQuery

Enkele voordelen van het gebruik van DirectQuery zijn:

  • Met DirectQuery kunt u visualisaties bouwen op zeer grote semantische modellen, waar het niet haalbaar zou zijn om alle gegevens te importeren met vooraf aggregatie.

  • DirectQuery-rapporten gebruiken altijd actuele gegevens. Als u onderliggende gegevenswijzigingen ziet, moet u de gegevens vernieuwen en grote semantische modellen opnieuw importeren om gegevens te vernieuwen, is dit mogelijk niet haalbaar.

  • De semantische modelbeperking van 1 GB is niet van toepassing met DirectQuery.

Verbinding maken directQuery gebruiken

Verbinding maken met een gegevensbron met DirectQuery:

  1. Selecteer gegevens ophalen in de groep Start van het Power BI Desktop-lint en selecteer vervolgens een gegevensbron die DirectQuery ondersteunt, zoals SQL Server.

  2. Selecteer DirectQuery in het dialoogvenster voor de verbinding onder de modus Gegevensconnectiviteit.

Opties voor importeren en DirectQuery, dialoogvenster SQL Server Database, Power BI Desktop

Publiceren naar de Power BI-service

U kunt DirectQuery-rapporten publiceren naar de Power BI-service, maar u moet extra stappen uitvoeren voor de Power BI-service om de rapporten te openen.

  • Als u de Power BI-service wilt verbinden met andere DirectQuery-gegevensbronnen dan Azure SQL Database, Azure Synapse Analytics (voorheen SQL Data Warehouse), Amazon Redshift en Snowflake Data Warehouse, installeert u een on-premises gegevensgateway en registreert u de gegevensbron.

  • Als u DirectQuery hebt gebruikt met cloudbronnen zoals Azure SQL Database, Azure Synapse, Amazon Redshift of Snowflake Data Warehouse, hebt u geen on-premises gegevensgateway nodig. U moet nog steeds referenties opgeven voor de Power BI-service om het gepubliceerde rapport te openen. Zonder referenties treedt er een fout op wanneer u een gepubliceerd rapport probeert te openen of een semantisch model verkent dat is gemaakt met een DirectQuery-verbinding.

Referenties opgeven voor het openen van het rapport en het vernieuwen van de gegevens:

  1. Selecteer in de Power BI-service het tandwielpictogram rechtsboven en kies Instellingen.

    Schermopname van de vervolgkeuzelijst Power BI-service Instellingen.

  2. Selecteer op de pagina Instellingen het tabblad Semantische modellen en kies het semantische model dat DirectQuery gebruikt.

  3. Geef onder Gegevensbronverbinding de referenties op om verbinding te maken met de gegevensbron.

Notitie

Als u DirectQuery hebt gebruikt met een Azure SQL Database met een privé-IP-adres, moet u een on-premises gateway gebruiken.

Overwegingen en beperkingen

Sommige Power BI Desktop-functies worden niet ondersteund in de DirectQuery-modus of ze hebben beperkingen. Sommige mogelijkheden in de Power BI-service, zoals snelle inzichten, zijn ook niet beschikbaar voor semantische modellen die DirectQuery gebruiken. Wanneer u besluit of u DirectQuery wilt gebruiken, moet u rekening houden met deze functiebeperkingen. Houd ook rekening met de volgende factoren:

Overwegingen voor prestaties en belasting

DirectQuery verzendt alle aanvragen naar de brondatabase, dus de vereiste vernieuwingstijd voor visuals is afhankelijk van hoe lang de onderliggende bron nodig heeft om resultaten te retourneren. Vijf seconden of minder is de aanbevolen reactietijd voor het ontvangen van aangevraagde gegevens voor visuals. Vernieuwingstijden van meer dan 30 seconden leveren een onaanvaardbaar slechte ervaring op voor gebruikers die het rapport gebruiken. Er treedt een time-out op van een query die langer dan vier minuten duurt in de Power BI-service en de gebruiker ontvangt een foutmelding.

De belasting van de brondatabase is ook afhankelijk van het aantal Power BI-gebruikers dat het gepubliceerde rapport gebruikt, met name als het rapport beveiliging op rijniveau (RLS) gebruikt. Het vernieuwen van een niet-RLS-dashboardtegel die door meerdere gebruikers wordt gedeeld, verzendt één query naar de database, maar voor het vernieuwen van een dashboardtegel waarvoor RLS wordt gebruikt, is één query per gebruiker vereist. De toegenomen query's verhogen de belasting aanzienlijk en beïnvloeden mogelijk de prestaties.

Limiet van één miljoen rijen

DirectQuery definieert een limiet van één miljoen rijen voor gegevens die worden geretourneerd uit cloudgegevensbronnen. Dit zijn gegevensbronnen die niet on-premises zijn. On-premises bronnen zijn beperkt tot een gedefinieerde nettolading van ongeveer 4 MB per rij, afhankelijk van het eigen compressiealgoritme of 16 MB voor de hele visual. Premium-capaciteiten kunnen verschillende maximumrijlimieten instellen, zoals beschreven in het blogbericht nieuwe capaciteitsinstellingen van Power BI Premium.

Power BI maakt query's die zo efficiënt mogelijk zijn, maar sommige gegenereerde query's kunnen te veel rijen ophalen uit de onderliggende gegevensbron. Deze situatie kan bijvoorbeeld optreden met een eenvoudige grafiek die een kolom met hoge kardinaliteit bevat met de aggregatieoptie ingesteld op Niet samenvatten. De visual mag alleen kolommen met een kardinaliteit van minder dan 1 miljoen bevatten of de juiste filters toepassen.

De rijlimiet is niet van toepassing op aggregaties of berekeningen die worden gebruikt om het semantische model DirectQuery-retourneert te selecteren, alleen voor de geretourneerde rijen. De query die op de gegevensbron wordt uitgevoerd, kan bijvoorbeeld 10 miljoen rijen aggregeren. Zolang de gegevens die worden geretourneerd naar Power BI minder dan 1 miljoen rijen zijn, kan de query de resultaten nauwkeurig retourneren. Als de gegevens meer dan 1 miljoen rijen bevatten, wordt in Power BI een fout weergegeven, behalve in Premium-capaciteit met verschillende limieten voor beheerders. De fout geeft aan: De resultatenset van een query naar een externe gegevensbron heeft de maximaal toegestane grootte van 1000000 rijen overschreden.

Beveiligingsoverwegingen

Standaard maken alle gebruikers die een gepubliceerd rapport in de Power BI-service verbinding maken met de onderliggende gegevensbron met behulp van de referenties die zijn ingevoerd na publicatie. Deze situatie is hetzelfde als voor geïmporteerde gegevens. Alle gebruikers zien dezelfde gegevens, ongeacht eventuele beveiligingsregels die door de onderliggende bron worden gedefinieerd.

Als u beveiliging per gebruiker nodig hebt die is geïmplementeerd met DirectQuery-bronnen, gebruikt u RLS of configureert u beperkte Kerberos-verificatie voor de bron. Kerberos is niet beschikbaar voor alle bronnen. Zie Beveiliging op rijniveau (RLS) met Power BI en eenmalige aanmelding op basis van Kerberos configureren van Power BI-service naar on-premises gegevensbronnen voor meer informatie.

Andere DirectQuery-beperkingen

Enkele andere beperkingen van het gebruik van DirectQuery zijn:

  • Als de Power Query-editor query te complex is, treedt er een fout op. Als u de fout wilt oplossen, moet u de problematische stap in Power Query-editor verwijderen of overschakelen naar de importmodus. Multidimensionale bronnen zoals SAP BW kunnen de Power Query-editor niet gebruiken.

  • Automatische datum-/tijdhiërarchie is niet beschikbaar in DirectQuery. De DirectQuery-modus biedt geen ondersteuning voor datumkolomanalyse per jaar, kwartaal, maand of dag.

  • Voor tabel- of matrixvisualisaties geldt een limiet van 125 kolommen voor resultaten die meer dan 500 rijen retourneren uit DirectQuery-bronnen. Deze resultaten geven een schuifbalk weer in de tabel of matrix waarmee u meer gegevens kunt ophalen. In dat geval is het maximum aantal kolommen in de tabel of matrix 125. Als u meer dan 125 kolommen in één tabel of matrix moet opnemen, kunt u overwegen om metingen te maken die gebruikmaken MINvan, MAX, FIRSTof LAST, omdat ze niet met dit maximum worden meegeteld.

  • U kunt de importmodus niet wijzigen in de DirectQuery-modus. U kunt overschakelen van de DirectQuery-modus naar de importmodus als u alle benodigde gegevens importeert. Het is niet mogelijk om terug te schakelen, vooral vanwege de functieset die DirectQuery niet ondersteunt. DirectQuery-modellen via multidimensionale bronnen, zoals SAP BW, kunnen ook niet worden overgeschakeld van DirectQuery naar de importmodus, vanwege de verschillende behandeling van externe metingen.

  • Berekende tabellen en berekende kolommen die verwijzen naar een DirectQuery-tabel vanuit een gegevensbron met eenmalige aanmelding (SSO) worden niet ondersteund in de Power BI-service.