DirectQuery in Power BI Desktop gebruikenUse DirectQuery in Power BI Desktop

Is deze pagina nuttig?

Wanneer u in Power BI Desktop verbinding maakt met een gegevensbron, kunt u altijd een kopie van de gegevens in Power BI Desktop importeren.With Power BI Desktop, when you connect to your data source, it is always possible to import a copy of the data into the Power BI Desktop. Voor sommige gegevensbronnen kunt u ook rechtstreeks verbinding maken met de gegevensbron via DirectQuery.For some data sources, an alternative approach is available: connect directly to the data source using DirectQuery.

Ondersteunde gegevensbronnenSupported Data Sources

Zie Gegevensbronnen die worden ondersteund door DirectQuery voor een volledige lijst van gegevensbronnen die worden ondersteund door DirectQuery.For a full listing of data sources that support DirectQuery, see Data sources supported by DirectQuery.

Verbinding maken met DirectQueryHow to Connect using DirectQuery

Als u Gegevens ophalen gebruikt om verbinding te maken met een gegevensbron die wordt ondersteund door DirectQuery, kunt u in het verbindingsvenster selecteren hoe u verbinding wilt maken.When you use Get Data to connect to a data source supported by DirectQuery, the connection window lets you select how you want to connect.

Dit zijn de verschillen tussen Importeren en DirectQuery:The differences between selecting Import and DirectQuery are the following:

Importeren: de geselecteerde tabellen en kolommen worden geïmporteerd in Power BI Desktop.Import – the selected tables and columns are imported into Power BI Desktop. Als u een visualisatie maakt of ermee werkt, wordt in Power BI Desktop gebruikgemaakt van de geïmporteerde gegevens.As you create or interact with a visualization, Power BI Desktop uses the imported data. U moet de gegevens vernieuwen om te zien welke wijzigingen zijn doorgevoerd in de onderliggende gegevens na de eerste importbewerking of de meest recente vernieuwing. Hierbij wordt de hele gegevensset opnieuw geïmporteerd.You must refresh the data, which imports the full data set again, to see any changes that occurred to the underlying data since the initial import or the most recent refresh.

DirectQuery: er worden geen gegevens geïmporteerd in of gekopieerd naar Power BI Desktop.DirectQuery – no data is imported or copied into Power BI Desktop. Voor relationele bronnen worden de geselecteerde tabellen en kolommen weergegeven in de lijst Velden.For relational sources, the selected tables and columns appear in the Fields list. Voor multidimensionale bronnen, zoals SAP Business Warehouse, worden de dimensies en metingen van de geselecteerde kubus weergegeven in de lijst Velden.For multi-dimensional sources like SAP Business Warehouse, the dimensions and measures of the selected cube appear in the Fields list. Als u een visualisatie maakt of ermee werkt, wordt in Power BI Desktop een query op de onderliggende gegevensbron uitgevoerd. De weergegeven gegevens zijn dus altijd de actuele gegevens.As you create or interact with a visualization, Power BI Desktop queries the underlying data source, which means you’re always viewing current data.

Er zijn veel gegevensmodellen en gegevenstransformaties beschikbaar voor DirectQuery, met enige beperkingen.Many data modeling and data transformations are available when using DirectQuery, though with some limitations. Wanneer u een visualisatie maakt of ermee werkt, moet de onderliggende gegevens van de gegevensbron worden opgevraagd. De benodigde tijd voor het vernieuwen van de visualisatie is afhankelijk van de prestaties van de onderliggende gegevensbron.When creating or interacting with a visualization, the underlying source must be queried and the time necessary to refresh the visualization is dependent on the performance of the underlying data source. Wanneer de benodigde gegevens voor de aanvraag recentelijk zijn opgevraagd, worden in Power BI Desktop de recente gegevens gebruikt zodat de visualisatie sneller wordt weergegeven.When the data necessary to service the request has recently been requested, Power BI Desktop uses recent data to reduce the time required to display the visualization. Selecteer Vernieuwen in het lint Start als u er zeker van wilt zijn dat alle visualisaties worden vernieuwd met de actuele gegevens.Selecting Refresh from the Home ribbon will ensure all visualizations are refreshed with current data.

Zie het artikel Power BI en DirectQuery voor een gedetailleerde beschrijving van DirectQuery.The Power BI and DirectQuery article describes DirectQuery in detail. Zie ook de volgende secties voor meer informatie over de voordelen en beperkingen en belangrijke overwegingen bij het gebruik van DirectQuery.Also, see the following sections for more information about benefits, limitations, and important considerations when using DirectQuery.

Voordelen van het gebruik van DirectQueryBenefits of using DirectQuery

Het gebruik van DirectQuery biedt de volgende voordelen:There are a few benefits to using DirectQuery:

  • Met DirectQuery kunt u visualisaties maken van zeer grote gegevenssets waarvoor het anders ondoenlijk zou zijn om eerst alle gegevens vooraf te aggregeren en te importerenDirectQuery lets you build visualizations over very large datasets, where it would otherwise be unfeasible to first import all of the data with pre-aggregation
  • Bij onderliggende gegevenswijzigingen kan het noodzakelijk zijn de gegevens te vernieuwen. Voor sommige rapporten kan de noodzaak tot het weergeven van de actuele gegevens leiden tot te grote gegevensoverdrachten om de gegevens opnieuw te kunnen importeren.Underlying data changes can require a refresh of data, and for some reports, the need to display current data can require large data transfers, making re-importing data unfeasible. In DirectQuery-rapporten worden echter altijd de actuele gegevens gebruiktBy contrast, DirectQuery reports always use current data
  • De limiet voor de maximale grootte van een gegevensset van 1 GB geldt niet in DirectQueryThe 1-GB dataset limitation does not apply to DirectQuery

Beperkingen van DirectQueryLimitations of DirectQuery

Het gebruik van DirectQuery is onderhevig aan de volgende beperkingen:There are currently a few limitations to using DirectQuery:

  • Alle tabellen moeten afkomstig zijn uit een individuele database, tenzij samengestelde modellen worden gebruiktAll tables must come from a single database, unless using composite models
  • Als de query in Query-editor te complex is, treedt er een fout op.If the Query Editor query is overly complex, an error will occur. Om de fout te verhelpen, moet u de problematische stap in Query-editor verwijderen, of de gegevens importeren in plaats van DirectQuery te gebruiken.To remedy the error you must either delete the problematic step in Query Editor, or Import the data instead of using DirectQuery. Bij multidimensionale bronnen, zoals SAP Business Warehouse, is er geen Query-editorFor multi-dimensional sources like SAP Business Warehouse, there is no Query Editor
  • Relaties kunnen slechts worden gefilterd in één richting, in plaats van in beide richtingen (het is wel mogelijk om kruislings filteren in beide richtingen in te schakelen voor DirectQuery als preview-functie).Relationship filtering is limited to a single direction, rather than both directions (though it is possible to enable cross filtering in both directions for DirectQuery as a Preview feature). Bij multidimensionale bronnen, zoals SAP Business Warehouse, zijn er geen relaties gedefinieerd in het modelFor multi-dimensional sources like SAP Business Warehouse, there are no relationships defined in the model
  • Time intelligence-functies zijn niet beschikbaar in DirectQuery.Time intelligence capabilities are not available in DirectQuery. Speciale behandeling van datumkolommen (jaar, kwartaal, maand, dag enzovoort) wordt bijvoorbeeld niet ondersteund in de modus DirectQuery.For example, special treatment of date columns (year, quarter, month, day, so on) is not supported in DirectQuery mode.
  • Standaard worden er beperkingen gesteld aan DAX-expressies die zijn toegestaan in metingen. Zie de volgende alinea (na deze lijst met opsommingstekens) voor meer informatieBy default, limitations are placed on DAX expressions allowed in measures; see the following paragraph (after this bulleted list) for more information
  • Er worden maximaal 1 miljoen rijen met gegevens geretourneerd wanneer u DirectQuery gebruikt.There is a one-million-row limit for returning data when using DirectQuery. Deze limiet is niet van invloed op aggregaties of berekeningen die worden gebruikt om de gegevensset te maken die met DirectQuery wordt geretourneerd, alleen op de geretourneerde rijen.The limit does not affect aggregations or calculations used to create the dataset returned using DirectQuery, only the rows returned. U kunt bijvoorbeeld 10 miljoen rijen aggregeren met een query die wordt uitgevoerd op de gegevensbron, en het resultaat van deze aggregatie retourneren naar Power BI met DirectQuery, zolang er maar minder dan 1 miljoen rijen met gegevens naar Power BI worden geretourneerd.For example, you can aggregate 10 million rows with your query that runs on the data source, and accurately return the results of that aggregation to Power BI using DirectQuery as long as the data returned to Power BI is less than 1 million rows. Als er meer dan 1 miljoen rijen worden geretourneerd met DirectQuery, treedt er een fout op in Power BI.If more than 1 million rows would be returned from DirectQuery, Power BI returns an error.

Om ervoor te zorgen dat de prestaties van query's die naar de onderliggende gegevensbron worden verzonden acceptabel blijven, worden er standaard beperkingen opgelegd aan metingen.To ensure that queries sent to the underlying data source have acceptable performance, limitations are imposed on measures by default. Geavanceerde gebruikers kunnen ervoor kiezen deze beperking als volgt te omzeilen: selecteer achtereenvolgens Bestand > Opties en instellingen > Opties, DirectQuery en de optie Onbeperkte metingen toestaan in de DirectQuery-modus.Advanced users can choose to bypass this limitation by selecting File > Options and settings > Options and then DirectQuery, then selecting the option Allow unrestricted measures in DirectQuery mode. Als deze optie is geselecteerd, kan elke DAX-expressie worden gebruikt die geldig is voor een meting.When that option is selected, any DAX expression that is valid for a measure can be used. Gebruikers moeten echter wel beseffen dat bepaalde expressies met hoge prestaties als de gegevens worden geïmporteerd, kunnen resulteren in erg trage query's als deze worden uitgevoerd op de back-endbron in de DirectQuery-modus.Users must be aware, however, that some expressions that perform very well when the data is imported may result in very slow queries to the backend source when in DirectQuery mode.

Belangrijke overwegingen bij het gebruik van DirectQueryImportant considerations when using DirectQuery

Houd rekening met de volgende drie punten wanneer u DirectQuery gebruikt:The following three points should be taken into consideration when using DirectQuery:

  • Prestaties en belasting: alle DirectQuery-aanvragen worden verzonden naar de brondatabase, zodat de benodigde tijd voor het vernieuwen van een visueel element afhankelijk is van de tijd die deze back-end-bron nodig heeft om de resultaten van de query (of query's) te retourneren.Performance and load - All DirectQuery requests are sent to the source database, so the time required to refresh a visual is dependent on how long that back-end source takes to respond with the results from the query (or queries). De aanbevolen reactietijd (de tijd waarin de aangevraagde gegevens worden geretourneerd) van DirectQuery voor visuele elementen is vijf seconden of minder. De aanbevolen maximumreactietijd is 30 seconden.The recommended response time (with requested data being returned) for using DirectQuery for visuals is five seconds or less, with a maximum recommended results response time of 30 seconds. Als de reactietijd nog groter wordt, wordt de gebruikerservaring van het rapport onaanvaardbaar negatief.Any longer, and the experience of a user consuming the report becomes unacceptably poor. Als een rapport is gepubliceerd naar de Power BI-service en een query langer duurt dan een paar minuten, treedt er bovendien een time-out op en wordt er een foutbericht weergegeven.In addition, once a report is published to the Power BI service, any query that takes longer than a few minutes will time out, and the user will receive an error.

    Houd ook rekening met de belasting van de brondatabase op basis van het aantal Power BI-gebruikers dat het gepubliceerde rapport gebruikt.Load on the source database should also be considered, based on the number of Power BI users who will consume the published report. Het gebruik van beveiliging op rijniveau (RLS) kan ook van grote invloed zijn. Een niet-RLS dashboardtegel die wordt gedeeld door meerdere gebruikers, resulteert slechts in één query op de database. Als echter RLS voor een dashboardtegel wordt gebruikt en die tegel moet worden vernieuwd, is er meestal een query per gebruiker vereist. Hierdoor kan de belasting van de brondatabase aanzienlijk toenemen, wat de prestaties negatief kan beïnvloeden.Using Row Level Security (RLS) can have a significant impact as well; a non-RLS dashboard tile shared by multiple users results in a single query to the database, but using RLS on a dashboard tile usually means the refresh of a tile requires one query per user, thus significantly increasing load on the source database and potentially impacting performance.

    In Power BI worden zo efficiënt mogelijke query's gemaakt.Power BI creates queries that are as efficient as possible. In bepaalde omstandigheden is de gegenereerde query mogelijk niet efficiënt genoeg om te voorkomen dat het vernieuwen mislukt.Under certain situations however, the generated query may not be efficient enough to avoid refresh that would fail. Als met een gegenereerde query bijvoorbeeld uitzonderlijk veel rijen (meer dan 1 miljoen) worden opgehaald uit de back-endgegevensbron, treedt de volgende fout op:One example of this situation is when a generated query would retrieve an excessively large number of rows (more than 1 million) from the back-end data source, in which case the following error occurs:

    The resultset of a query to external data source has exceeded
    the maximum allowed size of '1000000' rows.
    

    Deze situatie kan zich voordoen bij een eenvoudig diagram met een kolom met een zeer hoge kardinaliteit, als de aggregatie-optie is ingesteld op Niet samenvatten.This situation can occur with a simple chart that includes a very high cardinality column, with the aggregation option set to Don’t Summarize. Het visuele element mag alleen kolommen bevatten met een kardinaliteit van minder dan 1 miljoen, of de juiste filters moeten worden toegepast.The visual needs to only have columns with a cardinality below 1 million, or must have appropriate filters applied.

  • Beveiliging: alle gebruikers die een gepubliceerd rapport gebruiken, maken verbinding met de back-endgegevensbron met behulp van de referenties die zijn ingevoerd na de publicatie van het rapport naar de Power BI-service.Security - All users who consume a published report connect to the back-end data source using the credentials entered after publication to the Power BI service. Dit is in feite hetzelfde als gegevens die worden geïmporteerd: alle gebruikers zien dezelfde gegevens, ongeacht eventuele beveiligingsregels die in de back-endbron zijn gedefinieerd.This is the same situation as data that is imported: all users see the same data, irrespective of any security rules defined in the backend source. Klanten die beveiliging per gebruiker bij DirectQuery-bronnen willen implementeren, moeten RLS gebruiken.Customers who want per-user security implemented with DirectQuery sources should use RLS. Meer informatie over RLS.Learn more about RLS.

  • Ondersteunde functies: niet alle functies in Power BI Desktop worden ondersteund in de DirectQuery-modus, of kunnen beperkt zijn.Supported features - Not all features in Power BI Desktop are supported in DirectQuery mode, or have some limitations. Bovendien zijn sommige functies in de Power BI-service (zoals Snelle inzichten) niet beschikbaar voor gegevenssets als DirectQuery wordt gebruikt.In addition, there are some capabilities in the Power BI service (such as Quick Insights) that are not available for datasets using DirectQuery. Alle beperkingen van deze functies bij gebruik van DirectQuery moeten in aanmerking worden genomen bij het bepalen of u DirectQuery wilt gebruiken.As such, the limitation of such features when using DirectQuery should be taken into consideration when determining whether to use DirectQuery.

Publiceren naar de Power BI-servicePublish to the Power BI service

Rapporten die zijn gemaakt met DirectQuery, kunnen worden gepubliceerd naar de Power BI-service.Reports created using DirectQuery can be published to the Power BI Service.

Als de On-premises gegevensgateway (Azure SQL Database, Azure SQL Data Warehouse of Redshift) niet vereist is voor de gegevensbron, moeten er referenties worden opgegeven voordat het gepubliceerde rapport in de Power BI-service wordt weergegeven.If the data source used does not need the On-premises data gateway (Azure SQL Database, Azure SQL Data Warehouse, or Redshift), credentials must be provided before the published report will be displayed in the Power BI Service.

Ga als volgt te werk om referenties op te geven: selecteer het tandwielpictogram Instellingen in Power BI en selecteer vervolgens Instellingen.You can provide credentials by selecting the Settings gear icon in Power BI, then select Settings.

Het venster Instellingen wordt weergegeven.Power BI displays the Settings window. Selecteer het tabblad Gegevenssets, kies de gegevensset waarvoor DirectQuery wordt gebruikt, en selecteer Referenties bewerken.From there, select the Datasets tab and choose the dataset that uses DirectQuery, and select Edit credentials.

Als iemand probeert een gepubliceerd rapport te openen of een gegevensset die is gemaakt met DirectQuery te verkennen voordat er referenties zijn opgegeven, treedt er een fout op bij het maken van verbinding met deze gegevensbronnen.Until credentials are supplied, opening a published report or exploring a dataset created with a DirectQuery connection to such data sources results in an error.

Voor andere gegevensbronnen dan Azure SQL Database, Azure SQL Data Warehouse en Redshift die gebruikmaken van DirectQuery, moet u een On-premises gegevensgateway installeren en de gegevensbron registreren voordat er een verbinding tot stand kan worden gebracht.For data sources other than Azure SQL Database, Azure SQL Data Warehouse and Redshift that use DirectQuery, an On-premises data gateway must be installed and the data source must be registered to establish a data connection. Zie On-premises gegevensgateway voor meer informatie.You can learn more about On-premises data gateway.

Volgende stappenNext steps

Bekijk de volgende bronnen voor meer informatie over DirectQuery:For more information about DirectQuery, check out the following resources: