Berechnete Entitäts Szenarien und AnwendungsfälleComputed entity scenarios and use cases

Es gibt Vorteile bei der Verwendung berechneter Entitäten in einem Datenfluss.There are benefits to using computed entities in a dataflow. In diesem Artikel werden Anwendungsfälle für berechnete Entitäten beschrieben, und es wird beschrieben, wie Sie im Hintergrund funktionieren.This article describes use cases for computed entities and describes how they work behind the scenes.

Was ist eine berechnete Entität?What is a computed entity?

Eine Entität stellt die Datenausgabe einer Abfrage dar, die in einem Datenfluss erstellt wurde, nachdem der Datenfluss aktualisiert wurde.An entity represents the data output of a query created in a dataflow, after the dataflow has been refreshed. Sie stellt Daten aus einer Quelle und optional die Transformationen dar, die darauf angewendet wurden.It represents data from a source and, optionally, the transformations that were applied to it. Manchmal möchten Sie möglicherweise neue Entitäten erstellen, die eine Funktion einer zuvor erfassten Entität sind.Sometimes, you might want to create new entities that are a function of a previously ingested entity.

Obwohl es möglich ist, die Abfragen, die eine Entität erstellt haben, zu wiederholen und neue Transformationen darauf anzuwenden, hat dieser Ansatz Nachteile: die Daten werden zweimal erfasst, und die Last für die Datenquelle wird verdoppelt.Although it's possible to repeat the queries that created an entity and apply new transformations to them, this approach has drawbacks: data is ingested twice, and the load on the data source is doubled.

Berechnete Entitäten lösen beide Probleme aus.Computed entities solve both problems. Berechnete Entitäten ähneln anderen Entitäten insofern, als Sie Daten von einer Quelle erhalten, und Sie können weitere Transformationen anwenden, um Sie zu erstellen.Computed entities are similar to other entities in that they get data from a source and you can apply further transformations to create them. Ihre Daten stammen jedoch aus dem verwendeten Speicherdaten Fluss und nicht aus der ursprünglichen Datenquelle.But their data originates from the storage dataflow used, and not the original data source. Das heißt, Sie wurden zuvor von einem Datenfluss erstellt und anschließend wieder verwendet.That is, they were previously created by a dataflow and then reused.

Berechnete Entitäten können durch Verweisen auf eine Entität im gleichen Datenfluss oder durch Verweisen auf eine Entität erstellt werden, die in einem anderen Datenfluss erstellt wurde.Computed entities can be created by referencing an entity in the same dataflow or by referencing an entity created in a different dataflow.

Berechnete Entität

Gründe für die Verwendung einer berechneten EntitätWhy use a computed entity?

Das Ausführen aller Transformationsschritte in einer Entität kann langsam sein.Performing all transformation steps in one entity can be slow. Es kann viele Gründe für diese Verlangsamung geben — , dass die Datenquelle langsam ist oder die Transformationen, die Sie durcharbeiten, in zwei oder mehr Abfragen repliziert werden müssen.There can be many reasons for this slowdown—the data source might be slow, or the transformations that you're doing might need to be replicated in two or more queries. Es kann vorteilhaft sein, zuerst die Daten aus der Quelle zu erfassen und Sie dann in einer oder mehreren Entitäten wiederzuverwenden.It might be advantageous to first ingest the data from the source and then reuse it in one or more entities. In solchen Fällen können Sie zwei Entitäten erstellen: eine, die Daten aus der Datenquelle abruft, und eine weitere — berechnete Entität, — die zusätzliche Transformationen auf Daten anwendet, die bereits in den von einem Datenfluss verwendeten Data Lake geschrieben wurden.In such cases, you might choose to create two entities: one that gets data from the data source, and another—a computed entity—that applies additional transformations to data already written into the data lake used by a dataflow. Dies kann die Leistung und Wiederverwendbarkeit von Daten erhöhen, Zeit und Ressourcen sparen.This can increase performance and reusability of data, saving time and resources.

Wenn z. b. zwei Entitäten sogar einen Teil ihrer Transformations Logik aufweisen, muss die Transformation ohne eine berechnete Entität zweimal durchgeführt werden.For example, if two entities share even a part of their transformation logic, without a computed entity the transformation will have to be done twice.

Bild, das eine zweimalige Transformation der Daten anzeigt

Wenn jedoch eine berechnete Entität verwendet wird, wird der gemeinsame (freigegebene) Teil der Transformation einmalig verarbeitet und in Azure Data Lake Storage gespeichert.However, if a computed entity is used, then the common (shared) part of the transformation will be processed once and stored in Azure Data Lake Storage. Die verbleibenden Transformationen werden dann aus der Ausgabe der allgemeinen Transformation verarbeitet.The remaining transformations will then be processed from the output of the common transformation. Insgesamt ist diese Verarbeitung viel schneller.Overall, this processing is much faster.

Das Bild zeigt allgemeine Transformationen, die einmal in der berechneten Entität durchgeführt und im Data Lake gespeichert werden, und die verbleibenden eindeutigen Tranformationen, die später auftreten.

Eine berechnete Entität stellt einen Ort als Quellcode für die Transformation bereit und beschleunigt die Transformation, da Sie nur einmal statt mehrmals durchgeführt werden muss.A computed entity provides one place as the source code for the transformation and speeds up the transformation because it need only be done once instead of multiple times. Die Last für die Datenquelle wird ebenfalls verringert.The load on the data source is also reduced.

Beispielszenario für die Verwendung einer berechneten EntitätExample scenario for using a computed entity

Wenn Sie eine aggregierte Tabelle in Power BI erstellen, um das Datenmodell zu beschleunigen, können Sie die aggregierte Tabelle erstellen, indem Sie auf die ursprüngliche Tabelle verweisen und zusätzliche Transformationen darauf anwenden.If you're building an aggregated table in Power BI to speed up the data model, you can build the aggregated table by referencing the original table and applying additional transformations to it. Wenn Sie diesen Ansatz verwenden, müssen Sie Ihre Transformation nicht von der Quelle replizieren (der Teil, der aus der ursprünglichen Tabelle besteht).By using this approach, you don't need to replicate your transformation from the source (the part that is from the original table).

Die folgende Abbildung zeigt z. b. eine Orders-Entität.For example, the following figure shows an Orders entity.

Orders-Entität

Wenn Sie einen Verweis aus dieser Entität verwenden, können Sie eine berechnete Entität erstellen.Using a reference from this entity, you can build a computed entity.

Erstellen einer berechneten Entität

Bild, das zeigt, wie eine berechnete Entität aus der Orders-Entität erstellt wirdImage showing how to create a computed entity from the Orders entity. Klicken Sie zunächst mit der rechten Maustaste im Bereich Abfragen auf die Entität Orders, und wählen Sie im Dropdown Menü die Option Verweis aus, mit der die berechnete Entität erstellt wird, die hier in aggregierte Aufträge umbenannt wird.First right-click the Orders entity in the Queries pane, select the Reference option from the drop-down menu, which creates the computed entity, which is renamed here to Orders aggregated.

Die berechnete Entität kann über weitere Transformationen verfügen.The computed entity can have further transformations. Beispielsweise können Sie Group by verwenden, um die Daten auf der Kundenebene zu aggregieren.For example, you can use Group By to aggregate the data at the customer level.

Bild mit hervorgehoben der Customer-Spalte in der aggregierten aggregierten Entität

Dies bedeutet, dass die aggregierte Orders-Entität Daten aus der Orders-Entität und nicht erneut aus der Datenquelle abfragt.This means that the Orders Aggregated entity will be getting data from the Orders entity, and not from the data source again. Da einige der zu erledenden Transformationen bereits in der Orders-Entität durchgeführt wurden, ist die Leistung besser, und die Datentransformation ist schneller.Because some of the transformations that need to be done have already been done in the Orders entity, performance is better and data transformation is faster.

Berechnete Entität in anderen Daten FlüssenComputed entity in other dataflows

Sie können auch eine berechnete Entität in anderen Daten Flüssen erstellen.You can also create a computed entity in other dataflows. Sie können erstellt werden, indem Sie Daten aus einem Datenfluss mit dem Datenfluss-Connector von Power Platform erhalten.It can be created by getting data from a dataflow with the Power Platform dataflow connector.

<Sie Daten aus Power Platform-Daten Flüssen>

Image hebt den Power Platform Datenflüsse-Connector aus dem Power Query choos-Datenquellen Fenster mit einer Beschreibung hervor, in der angegeben wird, dass eine Datenfluss Entität zusätzlich zu den Daten aus einer anderen Datenfluss Entität erstellt werden kann, die bereits im Speicher gespeichert ist.Image emphasizes the Power Platform dataflows connector from the Power Query choos data source window, with a description that states that one dataflow entity can be built on top of the data from another dataflow entity, which is already persisted in storage.

Das Konzept der berechneten Entität besteht darin, eine Tabelle im Speicher und aus anderen Tabellen zu speichern, sodass Sie die Lesezeit aus der Datenquelle verringern und einige allgemeine Transformationen gemeinsam nutzen können.The concept of the computed entity is to have a table persisted in storage, and other tables sourced from it, so that you can reduce the read time from the data source and share some of the common transformations. Dies kann erreicht werden, indem Daten aus anderen Daten Flüssen über den Datenfluss-Connector oder durch Verweisen auf eine andere Abfrage im gleichen Datenfluss abgeleitet werden.This can be achieved by getting data from other dataflows through the dataflow connector or referencing another query in the same dataflow.

Berechnete Entität: mit Transformationen oder ohne?Computed entity: With transformations, or without?

Nachdem Sie nun wissen, dass berechnete Entitäten hervorragend zum Verbessern der Leistung der Datentransformation geeignet sind, sollten Sie eine gute Frage stellen, ob Transformationen immer auf die berechnete Entität zurückgestellt werden sollen oder ob Sie auf die Quell Entität angewendet werden sollen.Now that you know computed entities are great for improving performance of the data transformation, a good question to ask is whether transformations should always be deferred to the computed entity or whether they should be applied to the source entity. Das heißt, sollen die Daten immer in eine Entität erfasst und dann in eine berechnete Entität transformiert werden?That is, should data always be ingested into one entity and then transformed in a computed entity? Was sind die vor-und Nachteile?What are the pros and cons?

Laden von Daten ohne Transformation für Text-/CSV-DateienLoad data without transformation for Text/CSV files

Wenn eine Datenquelle das Falten von Abfragen nicht unterstützt (z. b. Text-/CSV-Dateien), hat das Anwenden von Transformationen beim Abfragen von Daten aus der Quelle nur wenig Vorteile, insbesondere dann, wenn Datenvolumes groß sind.When a data source doesn't support query folding (such as Text/CSV files), there's little benefit in applying transformations when getting data from the source, especially if data volumes are large. Die Quell Entität sollte nur Daten aus der Text-/CSV-Datei laden, ohne Transformationen anwenden zu müssen.The source entity should just load data from the Text/CSV file without applying any transformations. Anschließend können berechnete Entitäten Daten aus der Quell Entität erhalten und die Transformation auf der Grundlage der erfassten Daten durchführen.Then, computed entities can get data from the source entity and perform the transformation on top of the ingested data.

Sie können Fragen, wie hoch ist der Wert für das Erstellen einer Quell Entität, die nur Daten erfasst?You might ask, what's the value of creating a source entity that only ingests data? Eine solche Entität kann dennoch nützlich sein, denn wenn die Daten aus der Quelle in mehreren Entitäten verwendet werden, verringert sich die Auslastung der Datenquelle.Such an entity can still be useful, because if the data from the source is used in more than one entity, it reduces the load on the data source. Darüber hinaus können Daten jetzt von anderen Personen und Daten Flüssen wieder verwendet werden.In addition, data can now be reused by other people and dataflows. Berechnete Entitäten sind besonders nützlich in Szenarien, in denen die Datenmenge groß ist, oder wenn auf eine Datenquelle über ein lokales Daten Gateway zugegriffen wird, da Sie den Datenverkehr vom Gateway und die Auslastung von Datenquellen verringern.Computed entities are especially useful in scenarios where the data volume is large, or when a data source is accessed through an on-premises data gateway, because they reduce the traffic from the gateway and the load on data sources behind them.

Durchführung einiger allgemeiner Transformationen für eine SQL-TabelleDoing some of the common transformations for a SQL table

Wenn Ihre Datenquelle das Falten von Abfragen unterstützt, ist es gut, einige der Transformationen in der Quell Entität auszuführen, da die Abfrage in der Datenquelle gefaltet wird und nur die transformierten Daten daraus abgerufen werden.If your data source supports query folding, it's good to perform some of the transformations in the source entity because the query will be folded to the data source, and only the transformed data will be fetched from it. Dadurch wird die Gesamtleistung verbessert.This improves overall performance. Der Satz von Transformationen, die in downstreamberechneten Entitäten üblich werden, sollte in der Quell Entität angewendet werden, damit Sie in die Quelle gefaltet werden können.The set of transformations that will be common in downstream computed entities should be applied in the source entity, so they can be folded to the source. Andere Transformationen, die nur auf downstreamentitäten angewendet werden, sollten in berechneten Entitäten ausgeführt werden.Other transformations that only apply to downstream entities should be done in computed entities.