Scenario's en gebruiksscenario's voor berekende entiteiten
Het gebruik van berekende entiteiten in een gegevensstroom heeft voordelen. In dit artikel worden gebruiksgevallen voor berekende entiteiten beschreven en wordt beschreven hoe ze achter de schermen werken.
Wat is een berekende entiteit?
Een entiteit vertegenwoordigt de gegevensuitvoer van een query die is gemaakt in een gegevensstroom, nadat de gegevensstroom is vernieuwd. Het vertegenwoordigt gegevens uit een bron en eventueel de transformaties die erop zijn toegepast. Soms wilt u mogelijk nieuwe entiteiten maken die een functie zijn van een eerder opgenomen entiteit.
Hoewel het mogelijk is om de query's te herhalen die een entiteit hebben gemaakt en er nieuwe transformaties op toe te passen, heeft deze benadering nadelen: gegevens worden twee keer opgenomen en de belasting van de gegevensbron wordt verdubbeld.
Berekende entiteiten lossen beide problemen op. Berekende entiteiten zijn vergelijkbaar met andere entiteiten omdat ze gegevens uit een bron halen en u verdere transformaties kunt toepassen om ze te maken. Maar hun gegevens zijn afkomstig van de gebruikte opslaggegevensstroom en niet van de oorspronkelijke gegevensbron. Dat wil zeggen dat ze eerder zijn gemaakt door een gegevensstroom en vervolgens opnieuw zijn gebruikt.
Berekende entiteiten kunnen worden gemaakt door te verwijzen naar een entiteit in dezelfde gegevensstroom of door te verwijzen naar een entiteit die in een andere gegevensstroom is gemaakt.

Waarom een berekende entiteit gebruiken?
Het uitvoeren van alle transformatiestappen in één entiteit kan traag zijn. Er kunnen veel redenen zijn voor deze vertraging dat de gegevensbron traag is, of de transformaties die u aan het doen bent, moeten mogelijk worden gerepliceerd in twee of — meer query's. Het kan handig zijn om eerst de gegevens uit de bron op te nemen en deze vervolgens opnieuw te gebruiken in een of meer entiteiten. In dergelijke gevallen kunt u ervoor kiezen om twee entiteiten te maken: een die gegevens op haalt uit de gegevensbron en een andere berekende entiteit waarmee aanvullende transformaties worden toegepast op gegevens die al zijn geschreven in de data lake die door een gegevensstroom worden — — gebruikt. Dit kan de prestaties en herbruikbaarheid van gegevens verbeteren, waardoor tijd en resources worden bespaart.
Als twee entiteiten bijvoorbeeld zelfs een deel van hun transformatielogica delen, moet de transformatie zonder een berekende entiteit twee keer worden uitgevoerd.

Als er echter een berekende entiteit wordt gebruikt, wordt het algemene (gedeelde) deel van de transformatie eenmaal verwerkt en opgeslagen in Azure Data Lake Storage. De resterende transformaties worden vervolgens verwerkt op basis van de uitvoer van de algemene transformatie. Over het algemeen gaat deze verwerking veel sneller.

Een berekende entiteit biedt één plaats als broncode voor de transformatie en versnelt de transformatie omdat deze slechts één keer hoeft te worden uitgevoerd in plaats van meerdere keren. De belasting van de gegevensbron wordt ook verminderd.
Voorbeeldscenario voor het gebruik van een berekende entiteit
Als u een geaggregeerde tabel in Power BI bouwt om het gegevensmodel te versnellen, kunt u de geaggregeerde tabel bouwen door te verwijzen naar de oorspronkelijke tabel en er aanvullende transformaties op toe te passen. Met deze methode hoeft u uw transformatie niet te repliceren vanuit de bron (het deel dat afkomstig is uit de oorspronkelijke tabel).
In de volgende afbeelding ziet u bijvoorbeeld de entiteit Orders.

Met behulp van een verwijzing van deze entiteit kunt u een berekende entiteit bouwen.
Afbeelding van het maken van een berekende entiteit van de entiteit Orders. Klik eerst met de rechtermuisknop op de entiteit Orders in het deelvenster Query's en selecteer de optie Verwijzing in de vervolgkeuzelijst, waarmee de berekende entiteit wordt gemaakt. Deze naam wordt hier gewijzigd in Geaggregeerde orders.
De berekende entiteit kan verdere transformaties hebben. U kunt bijvoorbeeld Groep op gebruiken om de gegevens op klantniveau te aggregeren.

Dit betekent dat de entiteit Orders Aggregated gegevens krijgt van de entiteit Orders en niet opnieuw uit de gegevensbron. Omdat sommige transformaties die moeten worden uitgevoerd, al zijn uitgevoerd in de entiteit Orders, zijn de prestaties beter en gaat de gegevenstransformatie sneller.
Berekende entiteit in andere gegevensstromen
U kunt ook een berekende entiteit maken in andere gegevensstromen. Deze kan worden gemaakt door gegevens op te halen uit een gegevensstroom met de Microsoft Power Platform gegevensstroomconnector.
Afbeelding benadrukt de Power Platform-connector voor gegevensstromen vanuit het Power Query choos-gegevensbronvenster, met een beschrijving waarin staat dat één gegevensstroomentiteit kan worden gebouwd op de gegevens van een andere gegevensstroomentiteit, die al is opgeslagen in de opslag.
Het concept van de berekende entiteit is om een tabel persistent te maken in de opslag en andere tabellen die ervan afkomstig zijn, zodat u de leestijd van de gegevensbron kunt verminderen en enkele algemene transformaties kunt delen. Dit kan worden bereikt door gegevens op te halen uit andere gegevensstromen via de gegevensstroomconnector of door te verwijzen naar een andere query in dezelfde gegevensstroom.
Berekende entiteit: Met transformaties of zonder?
Nu u weet dat berekende entiteiten geweldig zijn voor het verbeteren van de prestaties van de gegevenstransformatie, is het een goede vraag of transformaties altijd moeten worden uitgesteld naar de berekende entiteit of dat ze moeten worden toegepast op de bronentiteit. Dat wil zeggen: moeten gegevens altijd worden opgenomen in één entiteit en vervolgens worden getransformeerd in een berekende entiteit? Wat zijn de voor- en nadelen?
Gegevens laden zonder transformatie voor tekst-/CSV-bestanden
Wanneer een gegevensbron geen ondersteuning biedt voor het vouwen van query's (zoals Tekst-/CSV-bestanden), heeft het weinig voordelen bij het toepassen van transformaties bij het verkrijgen van gegevens uit de bron, met name als de gegevensvolumes groot zijn. De bronentiteit moet alleen gegevens uit het tekst-/CSV-bestand laden zonder transformaties toe te passen. Vervolgens kunnen berekende entiteiten gegevens uit de bronentiteit op halen en de transformatie bovenop de opgenomen gegevens uitvoeren.
U vraagt zich misschien af wat de waarde is van het maken van een bronentiteit die alleen gegevens ops nemen? Een dergelijke entiteit kan nog steeds nuttig zijn, omdat als de gegevens uit de bron in meer dan één entiteit worden gebruikt, dit de belasting van de gegevensbron vermindert. Daarnaast kunnen gegevens nu opnieuw worden gebruikt door andere personen en gegevensstromen. Berekende entiteiten zijn vooral nuttig in scenario's waarin het gegevensvolume groot is of wanneer een gegevensbron wordt gebruikt via een on-premises gegevensgateway, omdat ze het verkeer van de gateway en de belasting van de gegevensbronnen erachter verminderen.
Enkele algemene transformaties voor een SQL tabel
Als uw gegevensbron ondersteuning biedt voor het vouwen van query's, is het goed om enkele transformaties in de bronentiteit uit te voeren, omdat de query naar de gegevensbron wordt gevouwen en alleen de getransformeerde gegevens ervan worden opgehaald. Dit verbetert de algehele prestaties. De set transformaties die gebruikelijk is in downstream berekende entiteiten moet worden toegepast in de bronentiteit, zodat ze kunnen worden gevouwen naar de bron. Andere transformaties die alleen van toepassing zijn op downstreamentiteiten moeten worden uitgevoerd in berekende entiteiten.