Delen via


Tabelopslagmodus in semantische Power BI-modellen

In semantische Power BI-modellen is de opslagmodus van een tabel afhankelijk van de gegevensbron. U kunt de opslagmodus gebruiken om te bepalen of power BI de tabelgegevens in het geheugen voor rapporten opslaat of de gegevens uit de gegevensbron ophaalt wanneer visuals worden geladen.

In dit artikel maakt u kennis met de verschillende tabelopslagmodi en wordt beschreven hoe deze van invloed zijn op het gedrag van rapporten.

Tabelopslagmodi

Tabelopslagmodus Indien beschikbaar Voordelen Notitie
Importeren In Power BI Desktop en Power BI-webmodellering, voor bijna alle gegevensbronnen, selecteert u Gegevens ophalen en gebruikt u Power Query. Een momentopname van de gegevens wordt opgeslagen in systeemeigen opslag voor het snel laden van visuals in rapporten. Als u de meest recente gegevens uit de gegevensbron wilt ophalen, vernieuwt u het semantische model of de tabel.
Direct Lake op OneLake Wanneer u OneLake-catalogus selecteert in Power BI Desktop en Power BI-webmodellering voor Microsoft Fabric-gegevensbronnen. Gegevens worden gescand uit Microsoft OneLake Delta-tabellen voor het snel laden van visuals in rapporten. Standaard worden de meest recente gegevens geladen. Als u de meest recente gegevens wilt openen door deze handmatig te vernieuwen, schakelt u automatische synchronisatie uit op de pagina met instellingen voor geplande vernieuwing. Een vernieuwing wordt ook wel een reframing genoemd voor Direct Lake. Zie het overzicht van Direct Lake voor meer informatie over Direct Lake.
Direct Lake op SQL Wanneer u in de SQL-analytische eindpunten van Fabric-items nieuw semantisch model selecteert. Gegevens worden gescand uit OneLake Delta-tabellen voor snel laden in rapporten. In deze modus gebruikt Power BI de DirectQuery-opslagmodus voor toegang tot gegevens in de volgende gevallen:
- Er wordt een weergave gebruikt.
- Granulaire toegang van SQL is ingeschakeld.
- Een Direct Lake-beveiliging is bereikt.
DirectQuery Als u in Power BI Desktop voor sommige gegevensbronnen, zoals SQL-databases, gegevens ophalen selecteert en Power Query gebruikt. Gegevens worden opgevraagd vanuit de gegevensbron wanneer visuals worden geladen en niet worden opgeslagen in het semantische model. De query vormt een vertaling van de DAX-query (Data Analysis Expressions van Power BI), die door visuals wordt gebruikt, in de systeemeigen querytaal van de gegevensbron, bijvoorbeeld een SQL-query.
DirectQuery op semantische Power BI-modellen Wanneer u in Power BI Desktop verbinding maakt met een semantisch Power BI-model en vervolgens Wijzigingen aan dit model aanbrengen selecteert, of wanneer er al een Import- of DirectQuery-tabel is toegevoegd. DAX-query's van het nieuwe model worden uitgevoerd op het bronmodel en kunnen metingen van beide gebruiken. Sommige kolomeigenschappen van het externe model kunnen worden overschreven in het nieuwe model. Deze aanpassing omvat opmaaktekenreeksen en weergavenamen. Gebruik deze opslagmodus wanneer u een kleine wijziging wilt aanbrengen in een bestaand semantisch model voor een specifiek rapport.
Tweeledig Wanneer u in Power BI Desktop een DirectQuery-tabel converteert naar de importmodus. Er wordt een dialoogvenster weergegeven met opties voor het converteren van de resterende DirectQuery-tabellen naar de dual-modus. De relaties tussen DirectQuery- en Importtabellen zijn beperkt. Als u overschakelt van DirectQuery naar de Dual-modus, kunt u deze relaties regelmatig houden.
Hybride In incrementele vernieuwingsscenario's voor een importtabel. De meest recente partitie van de tabel kan zich in de DirectQuery-modus bevinden om ervoor te zorgen dat de meest recente gegevens beschikbaar zijn tussen importvernieuwing. Het maken en beheren van partities wordt geautomatiseerd om de hoeveelheid gegevens te verminderen die moet worden vernieuwd. Voor meer informatie, zie Configureer incrementele vernieuwing en realtime gegevens voor semantische Power BI-modellen.

Notitie

De liveverbindingsmodus wordt in de volgende gevallen gebruikt:

  • Verbinding maken met een semantisch Power BI-model in Power BI Desktop om een rapport te maken
  • Een rapport maken op basis van een semantisch Power BI-model in het web

Een Live Connect-rapport heeft geen lokaal semantisch model en wordt ook wel een dun rapport genoemd. Het externe semantische Power BI-model kan elke tabelopslagmodus gebruiken. Als auteur van het rapport kunt u het model zien in de modelweergave , maar er is slechts beperkte informatie beschikbaar. Metingen die u maakt, worden opgeslagen in het rapport.

Een samengesteld semantisch model is een semantisch model met tabellen in meer dan één opslagmodus. Zie Samengestelde modellen gebruiken in Power BI voor meer informatie.

De opslagmodus van een tabel bekijken

Elke tabel heeft een Storage mode eigenschap. Voer de volgende stappen uit om de opslagmodus van een tabel te bekijken:

  1. Selecteer de tabel in de modelweergave .

  2. Vouw in het deelvenster Eigenschappen de sectie Geavanceerd uit en vouw vervolgens de lijst met opslagmodus uit.

    Schermopname van de modelweergave in Power BI Desktop. Eén tabel is gemarkeerd. Onder Eigenschappen wordt de lijst met opslagmodus uitgevouwen en gemarkeerd.

Voor de meeste tabellen kunt u de opslagmodus alleen instellen wanneer u de tabel toevoegt. U kunt de opslagmodus alleen wijzigen als de tabel zich in de DirectQuery-modus of Direct Lake in de OneLake-modus bevindt wanneer deze is gemaakt:

  • U kunt een DirectQuery-tabel wijzigen in een Import- of Dual-tabel. Nadat u deze eigenschap hebt ingesteld, kunt u de modus niet terugzetten op DirectQuery. Uitzonderingen zijn Power BI-webmodellering en live bewerken in Power BI Desktop. Deze omgevingen hebben beide versiebeheer, waarmee u een gewijzigde opslagmodus kunt omkeren.
  • U kunt Direct Lake OneLake-tabellen converteren naar Import-tabellen met behulp van de semantische koppelingslabs in Fabric-notebooks.

Beperkingen voor DirectQuery- en Dual-tabellen

Dubbele tabellen hebben dezelfde functionele beperkingen als DirectQuery-tabellen. Deze beperkingen omvatten beperkte M-transformaties en beperkte DAX-functies in berekende kolommen. Zie DirectQuery-beperkingenvoor meer informatie.

Toepassing van de dubbel-instelling

Houd rekening met het volgende model. Alle tabellen zijn afkomstig van één bron die ondersteuning biedt voor import- en DirectQuery-modi.

Schermopname van een Power BI Desktop-modelweergave met de relaties tussen vijf tabellen: Date, Sales, SurveyResponse, Customer en Geography.

Stel dat alle tabellen in dit model in eerste instantie zijn ingesteld op DirectQuery. Als u de opslagmodus van de tabel SurveyResponse wijzigt in Importeren, wordt het volgende waarschuwingsvenster weergegeven:

Schermopname van een venster waarin het effect wordt beschreven van het wijzigen van de opslagmodus in Importeren, met een optie voor het instellen van dimensietabellen in de Dual-modus.

U kunt de dimensietabellen, Klant, Geografie en Datum instellen op dual-modus om het aantal beperkte relaties in het semantische model te verminderen en de prestaties te verbeteren. Beperkte relaties omvatten normaal gesproken ten minste één DirectQuery-tabel waarbij JOIN logica niet naar de bronsystemen kan worden gepusht. Omdat Dual-tabellen kunnen fungeren als DirectQuery- of Importtabellen, wordt deze situatie vermeden.

De voortplantingslogica is ontworpen om modellen met veel tabellen te ondersteunen. Stel dat u een model hebt met 50 tabellen en dat alleen bepaalde feitentabellen (transactionele) tabellen in de cache moeten worden opgeslagen. De logica in Power BI Desktop berekent de minimale set dimensietabellen die moeten worden ingesteld op de dual-modus, zodat u dat niet hoeft te doen.

De propagatielogica beperkt zich tot de ene kant van een-op-veel-relaties.

Voorbeeld van gebruik van opslagmodus

Bekijk een voorbeeld met de volgende tabellen en opslagmodi:

Tafel Opslagmodus
Verkoop DirectQuery
SurveyResponse Importeren
Datum Tweeledig
Klant Tweeledig
Geografie Tweeledig

Het gebruik van deze opslagmodi resulteert in het volgende gedrag, ervan uitgaande dat de tabel Sales aanzienlijke gegevensvolumes heeft:

  • Power BI Desktop slaat de dimensietabellen, Datum, Klant en Geografie in de cache op om de laadtijden van initiële rapporten te verminderen wanneer ze slicerwaarden ophalen die moeten worden weergegeven.

  • Power BI Desktop slaat de tabel Sales niet in de cache op.

    • Deze tabel kan niet in de cache worden opgeslagen om de vernieuwingstijden van gegevens te verbeteren en het geheugenverbruik te verminderen.
    • Rapportquery's die zijn gebaseerd op de tabel Verkoop , worden uitgevoerd in de DirectQuery-modus. Deze queries kunnen langer duren dan importqueries. Maar de resultaten van DirectQuery-query's liggen dichter bij realtime resultaten, omdat er geen latentie in de cache wordt geïntroduceerd.
  • Rapportqueries die zijn gebaseerd op de tabel SurveyResponse zijn relatief snel omdat ze uit de in-memory cache worden opgevraagd.

Queries die de cache raken of missen

U kunt SQL Server Profiler gebruiken om te zien welke query's de cache in het geheugen raken of missen. Als u dit hulpprogramma verbindt met de diagnostische poort voor Power BI Desktop, kunt u een tracering uitvoeren die is gebaseerd op de volgende gebeurtenissen:

  • Query's gebeurtenissen\Query begin
  • Queryverwerking\Het begin van Vertipaq SE-query
  • Queryverwerking\DirectQuery Begin

Controleer voor elke Query Begin-gebeurtenis andere gebeurtenissen met dezelfde ActivityID waarde. Als er bijvoorbeeld geen DirectQuery Begin gebeurtenis is, maar er een Vertipaq SE Query Begin gebeurtenis is, wordt de query beantwoord vanuit de cache.

Query's die verwijzen naar Dual-tabellen retourneren gegevens uit de cache, indien mogelijk. Anders keren ze terug naar de DirectQuery-modus.

Overweeg enkele DAX-query's die verwijzen naar de tabellen in de vorige sectie. De volgende query verwijst bijvoorbeeld alleen naar een kolom uit de tabel Date , die zich in de dual-modus bevindt. Daarom moet de query de cache aanspreken.

Schermopname van de tekst van een query die verwijst naar de tabel Date.

De volgende query verwijst alleen naar een kolom uit de tabel Sales , die zich in de DirectQuery-modus bevindt. Daarom moet het niet de cache raken:

Schermopname van de tekst van een query die verwijst naar de tabel Sales.

De volgende query is interessant omdat beide kolommen worden gecombineerd. Deze query raakt de cache niet. U kunt in eerste instantie verwachten dat deze CalendarYear-waarden ophaalt uit de cache en SalesAmount-waarden uit de bron en vervolgens de resultaten combineert. Deze aanpak is echter minder efficiënt dan het indienen van een SUM of GROUP BY bewerking bij het bronsysteem. Als de bron de bewerking uitvoert, wordt alleen de som van de verkoop voor elk jaar geretourneerd. Dit resultaat bevat waarschijnlijk veel minder rijen dan als alle SalesAmount-waarden worden geretourneerd.

Schermopname van de tekst van een query die verwijst naar zowel de tabel Date als de tabel Sales.

Notitie

Dit gedrag verschilt van veel-op-veel-relaties in Power BI Desktop wanneer tabellen in de cache worden gecombineerd met tabellen die niet in de cache worden opgeslagen.

Caches gesynchroniseerd houden

De query's in de vorige sectie laten zien dat Dual-tabellen soms de cache raken en soms niet. Als gevolg hiervan kunnen de waarden die worden geretourneerd uit een verouderde cache verschillen van waarden die worden geretourneerd uit de bron. Queryuitvoering probeert bijvoorbeeld geen gegevensproblemen te maskeren door DirectQuery-resultaten te filteren op overeenkomende waarden in de cache. Het is uw verantwoordelijkheid om uw gegevensstromen te kennen en u moet dienovereenkomstig ontwerpen. Er zijn vastgestelde technieken om dergelijke gevallen bij de bron af te handelen, indien nodig.

De dual-opslagmodus is een optimalisatie van prestaties. U moet het alleen gebruiken op manieren die niet in gevaar komen voor de mogelijkheid om te voldoen aan bedrijfsvereisten. Voor alternatieve werkwijzen kunt u overwegen de technieken toe te passen die worden beschreven in Veel-op-veel-relaties in Power BI Desktop.

Tabelweergave

Als ten minste één tabel in het semantische model een opslagmodus van Importeren of Dual heeft, is het tabblad Tabelweergave van Power BI beschikbaar.

Schermopname van de tabelweergave in Power BI Desktop. Het pictogram Tabelweergave is gemarkeerd en er zijn meerdere rijen met gegevens zichtbaar in een tabel.

Wanneer u een Dual- of Importtabel selecteert in de tabelweergave, worden de gegevens uit de cache weergegeven. Er worden geen gegevens weergegeven voor DirectQuery-tabellen. In plaats daarvan wordt een bericht weergegeven waarin staat dat DirectQuery-tabellen niet kunnen worden weergegeven.

Overwegingen en beperkingen

Er zijn momenteel enkele beperkingen voor tabelopslagmodi en het gebruik van bepaalde modi in samengestelde modellen:

De volgende bronnen voor liveverbindingen (multidimensionaal) kunnen niet worden gebruikt met samengestelde modellen:

  • SAP HANA
  • SAP Business Warehouse

Wanneer u verbinding maakt met deze multidimensionale bronnen met behulp van de DirectQuery-modus, kunt u geen verbinding maken met een andere DirectQuery-bron of deze combineren met geïmporteerde gegevens.

De beperkingen van het gebruik van de DirectQuery-modus zijn nog steeds van toepassing wanneer u samengestelde modellen gebruikt. Veel van deze beperkingen gelden op tabelniveau en zijn afhankelijk van de opslagmodus van de tabel. Een berekende kolom in een geïmporteerde tabel kan bijvoorbeeld verwijzen naar andere tabellen, maar een berekende kolom in een DirectQuery-tabel kan alleen verwijzen naar kolommen in dezelfde tabel. Andere beperkingen zijn van toepassing op het model als geheel, als een van de tabellen in het model zich in de DirectQuery-modus bevindt.

Zie de volgende artikelen voor meer informatie over samengestelde modellen en de DirectQuery-modus: