Opslagmodus beheren in Power BI Desktop
In Microsoft Power BI Desktop kunt u de opslagmodus van een tabel opgeven. Met de opslagmodus kunt u bepalen of in Power BI Desktop tabelgegevens in het geheugen voor rapporten worden opgeslagen. Caching betekent dat gegevens tijdelijk in het geheugen worden opgeslagen.
Het instellen van de opslagmodus biedt veel voordelen. U kunt de opslagmodus voor elke tabel afzonderlijk in uw model instellen. Met deze actie wordt één semantisch model ingeschakeld, dat de volgende voordelen biedt:
Queryprestaties: Wanneer gebruikers interageren met visuals in Power BI-rapporten, worden DAX-query's (Data Analysis Expressions) ingediend bij het semantische model. Het opslaan van gegevens in het geheugen door de opslagmodus correct in te stellen, kan de queryprestaties en interactiviteit van uw rapporten verbeteren.
Grote semantische modellen: tabellen die niet in de cache worden opgeslagen, verbruiken geen geheugen voor cachedoeleinden. U kunt interactieve analyse inschakelen via grote semantische modellen die te groot of duur zijn om volledig in het geheugen op te cachen. U kunt kiezen welke tabellen de cache waard zijn en welke niet.
optimalisatie van gegevensvernieuwing: u hoeft geen tabellen te vernieuwen die niet in de cache zijn opgeslagen. U kunt vernieuwingstijden verminderen door alleen de gegevens in de cache op te slaan die nodig zijn om te voldoen aan uw serviceovereenkomsten en uw zakelijke vereisten.
Vereisten voor bijna realtime: tabellen met bijna realtime-vereisten kunnen profiteren van het niet in de cache opslaan om de gegevenslatentie te verminderen.
Writeback: Writeback stelt zakelijke gebruikers in staat om wat-als-scenario's te verkennen door celwaarden te wijzigen. Aangepaste toepassingen kunnen wijzigingen toepassen op de gegevensbron. Tabellen die niet in de cache worden opgeslagen, kunnen wijzigingen onmiddellijk weergeven, waardoor de effecten direct kunnen worden geanalyseerd.
De instelling voor de opslagmodus in Power BI Desktop is een van de drie gerelateerde functies:
samengestelde modellen: hiermee kan een rapport twee of meer gegevensverbindingen hebben, waaronder DirectQuery-verbindingen of Importeren, in een willekeurige combinatie. Zie Samengestelde modellen gebruiken in Power BI Desktopvoor meer informatie.
veel-op-veel-relaties: met samengestelde modellen kunt u veel-op-veel-relaties tussen tabellen tot stand brengen. In een veel-op-veel-relatie worden vereisten verwijderd voor unieke waarden in tabellen. Ook worden eerdere tijdelijke oplossingen verwijderd, zoals het introduceren van nieuwe tabellen om relaties tot stand te brengen. Zie Veel-op-veel-relaties in Power BI Desktopvoor meer informatie.
Opslagmodus: Met de opslagmodus kunt u nu opgeven welke visuals een query naar back-endgegevensbronnen vereisen. Visuals waarvoor geen query is vereist, worden geïmporteerd, zelfs als ze zijn gebaseerd op DirectQuery. Deze functie helpt de prestaties te verbeteren en de back-endbelasting te verminderen. Voorheen stuurden zelfs eenvoudige visuals, zoals slicers, query's die werden geïnitieerd naar back-endbronnen.
De eigenschap Opslagmodus gebruiken
De opslagmodus eigenschap is een eigenschap die u voor elke tabel in uw model kunt instellen en bepaalt hoe Power BI de tabelgegevens in de cache opbergt.
Als u de -opslagmodus wilt instellen eigenschap of de huidige instelling wilt weergeven:
Selecteer in de weergave Model van
de tabel waarvan u de eigenschappen wilt weergeven of instellen. Vouw in het deelvenster Eigenschappen de sectie Geavanceerd uit en klap de vervolgkeuzelijst Opslagmodus uit.
U stelt de opslagmodus eigenschap in op een van deze drie waarden:
Import: Geïmporteerde tabellen met deze instelling worden in de cache opgeslagen. Query's die worden verzonden naar het semantische Power BI-model dat gegevens uit importtabellen retourneert, kunnen alleen worden uitgevoerd vanuit gegevens in de cache.
DirectQuery-: tabellen met deze instelling worden niet in de cache opgeslagen. Query's die u verzendt naar het semantische Power BI-model, bijvoorbeeld DAX-query's, en die gegevens uit DirectQuery-tabellen retourneren, kunnen alleen worden uitgevoerd door query's op aanvraag uit te voeren op de gegevensbron. Query's die u naar de gegevensbron verzendt, gebruiken de querytaal voor die gegevensbron, bijvoorbeeld SQL.
Dual: Tabellen met deze instelling kunnen fungeren als gecached of niet gecached, afhankelijk van de context van de query die naar het Power BI-semantische model wordt gestuurd. In sommige gevallen verwerkt u aanvragen met gegevens die in de cache zijn opgeslagen. In andere gevallen voert u query's uit door een on-demand query uit te voeren op de gegevensbron.
Het wijzigen van de Storage modus van een tabel in Import is een onomkeerbare bewerking. Nadat deze eigenschap is ingesteld, kan deze later niet meer worden gewijzigd in DirectQuery- of Dual.
Notitie
U kunt Dual-opslagmodus gebruiken in zowel Power BI Desktop als de Power BI-service.
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, waarbij alle tabellen afkomstig zijn van één bron die import en DirectQuery ondersteunt.
Stel dat alle tabellen in dit model in eerste instantie zijn ingesteld op DirectQuery-. Als u vervolgens de -opslagmodus wijzigt van de tabel SurveyResponse in Import, wordt het volgende waarschuwingsvenster weergegeven:
U kunt de dimensietabellen (Customer, Geographyen Date) instellen op Dual- 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 joinlogica 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 Dual, zodat u dat niet hoeft te doen.
De doorgiftelogica gaat alleen over de ene kant van een-op-veel-relaties.
Voorbeeld van gebruik van opslagmodus
Stel dat u de volgende eigenschapsinstellingen voor de opslagmodus toepast:
Tafel | Opslagmodus |
---|---|
Verkoop | DirectQuery |
SurveyResponse | Importeren |
Datum | Tweeledig |
Klant | Tweeledig |
Geografie | Tweeledig |
Als u deze eigenschappen van de opslagmodus instelt, resulteert dit in het volgende gedrag, ervan uitgaande dat de tabel Sales aanzienlijke gegevensvolume heeft:
In Power BI Desktop worden dimensietabellen, Date, Customeren Geographyopgeslagen, zodat laadtijden van initiële rapporten snel zijn wanneer ze slicerwaarden ophalen die moeten worden weergegeven.
Power BI Desktop slaat de tabel Sales niet in de cache op. Power BI Desktop biedt de volgende resultaten door deze tabel niet in de cache op te plaatsen:
- Gegevensvernieuwingstijden worden verbeterd en het geheugenverbruik wordt verminderd.
- Rapportquery's die zijn gebaseerd op de tabel Sales worden in DirectQuery-modus uitgevoerd. Deze query's kunnen langer duren, maar zich dichter bij realtime bevinden, omdat er geen cachelatentie wordt geïntroduceerd.
Rapportqueries die gebaseerd zijn op de tabel SurveyResponse worden geretourneerd uit het geheugen-cache en zijn daarom relatief snel.
Queries die de cache raken of missen
Als u SQL Profiler verbindt met de diagnostische poort voor Power BI Desktop, kunt u zien welke query's de cache in het geheugen raken of missen door een tracering uit te voeren die is gebaseerd op de volgende gebeurtenissen:
- Query gebeurtenissen\Begin van de query
- Queryverwerking\Vertipaq SE-query beginnen
- Queryverwerking\DirectQuery Begin
Controleer voor elk Query Begin-gebeurtenis andere gebeurtenissen met dezelfde ActivityID. 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 DirectQuery.
De volgende query wordt voortgezet uit de vorige tabel. Het verwijst alleen naar een kolom uit de tabel Date, die zich in de modus Dual bevindt. Daarom moet de query de cache aanspreken.
De volgende query verwijst alleen naar een kolom uit de tabel Sales, die zich in directQuery- modus bevindt. Daarom moet het niet de cache raken:
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, maar deze methode is minder efficiënt dan het verzenden van de bewerking SUM/GROUP BY naar het bronsysteem. Als de bewerking naar de bron wordt verplaatst, zal het aantal geretourneerde rijen waarschijnlijk veel lager zijn.
Notitie
Dit gedrag verschilt van veel-op-veel-relaties in Power BI Desktop wanneer tabellen in de cache en niet-in de cache worden gecombineerd.
Caches moeten gesynchroniseerd worden gehouden
De query's die in de vorige sectie worden weergegeven, laten zien dat Dual-tabellen soms de cache raken en soms niet. Als de cache verouderd is, kunnen er verschillende waarden worden geretourneerd. Bij het uitvoeren van query's wordt niet geprobeerd om gegevensproblemen te maskeren, bijvoorbeeld 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. Het moet alleen worden gebruikt op manieren die niet in gevaar komen voor de mogelijkheid om te voldoen aan bedrijfsvereisten. Voor alternatief gedrag kunt u overwegen de technieken te gebruiken die worden beschreven in de Veel-op-veel-relaties in Power BI Desktop.
Tabelweergave
Als ten minste één tabel in het semantische model de opslagmodus heeft ingesteld op Importeren of Dual-, kan het tabblad Tabel weergave worden weergegeven.
Wanneer u Dual- en Import-tabellen selecteert in Tabel weergave, worden gegevens in de cache weergegeven. DirectQuery-tabellen bevatten geen gegevens en er wordt een bericht weergegeven waarin staat dat DirectQuery-tabellen niet kunnen worden weergegeven.
Overwegingen en beperkingen
Er zijn enkele beperkingen voor de huidige release van de opslagmodus en de correlatie met 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 DirectQuery, kunt u geen verbinding maken met een andere DirectQuery-bron of deze combineren met geïmporteerde gegevens.
De bestaande beperkingen van het gebruik van DirectQuery gelden nog steeds wanneer u samengestelde modellen gebruikt. Veel van deze beperkingen zijn nu per tabel, 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 is nog steeds beperkt om alleen te verwijzen naar kolommen in dezelfde tabel. Andere beperkingen gelden voor het model als geheel, als een van de tabellen in het model DirectQuery is.
Verwante inhoud
Zie de volgende artikelen voor meer informatie over samengestelde modellen en DirectQuery: