Semantische Datenverteilung aus semantischen Modellen

Wenn Sie ein semantisches Modell in ein FabricDataFrame einlesen, erhält das FabricDataFrame automatisch semantische Informationen wie Metadaten und Anmerkungen aus dem semantischen Modell. In diesem Artikel erfährst du, wie die SemPy-Python-Bibliothek Annotationen beibehält, die an die Tabellen und Spalten deines semantischen Modells angehängt sind.

Semantische Verteilung für Pandas-Benutzer

Die SemPy Python-Bibliothek ist Teil der Funktion „semantic link“ und richtet sich an pandas-Benutzer. SemPy unterstützt die Vorgänge, mit denen Pandas Sie Ihre Daten bearbeiten lässt.

Mit SemPy kannst du auch semantische Daten aus semantischen Modellen verteilen, auf denen du arbeitest. Durch die Verteilung semantischer Daten kannst du Anmerkungen beibehalten, die an Tabellen und Spalten im semantischen Modell angefügt sind, wenn du Vorgänge wie Aufspaltungen, Zusammenführungen und Verkettungen ausführst.

Du kannst eine FabricDataFrame-Datenstruktur auf zwei Arten erstellen:

  • Du kannst eine Tabelle oder die Ausgabe eines Messwerts aus einem semantischen Modell in einen FabricDataFrame laden.

    Wenn du aus einem semantischen Modell in ein FabricDataFrame einliest, aktualisieren die Metadaten von Power BI automatisch den FabricDataFrame oder füllen diesen auf. Mit anderen Worten bewahrt der FabricDataFrame die semantischen Informationen aus den Tabellen oder Kennzahlen des Modells auf.

  • Alternativ kannst du In-Memory-Daten verwenden, um FabricDataFrame zu erstellen, genau wie bei Pandas DataFrames.

    Wenn Sie einen FabricDataFrame aus Speicherdaten erstellen, müssen Sie den Namen eines semantischen Modells angeben, aus dem FabricDataFrame Metadateninformationen abrufen kann.

Die Art und Weise, wie SemPy semantische Daten bewahrt, variiert je nach Faktoren wie den Vorgängen und der Reihenfolge der FabricDataFrames, auf denen du arbeitest.

Semantische Verteilung bei Zusammenführung

Wenn du zwei FabricDataFrames zusammenführst, bestimmt die Reihenfolge der DataFrames, wie SemPy semantische Informationen weitergibt.

  • Wenn beide FabricDataFrames kommentiert sind, haben die Metadaten auf Tabellenebene des linken FabricDataFrame Vorrang. Die gleiche Regel gilt für einzelne Spalten. Die Spaltenanmerkungen, die im linken FabricDataFrame vorhanden sind, haben Vorrang vor den Spaltenanmerkungen im rechten DataFrame.

  • Wenn nur ein FabricDataFrame kommentiert ist, verwendet SemPy dessen Metadaten. Die gleiche Regel gilt für einzelne Spalten. SemPy verwendet die Spaltenanmerkungen, die im kommentierten FabricDataFrame vorhanden sind.

Semantische Propagierung mit Verkettung

Wenn du eine Verkettung für mehrere FabricDataFrames durchführst, kopiert SemPy für jede Spalte die Metadaten aus dem ersten FabricDataFrame, der dem Spaltennamen entspricht. Wenn mehrere Übereinstimmungen vorhanden sind und die Metadaten nicht identisch sind, gibt SemPy eine Warnung aus.

Sie können Konkatenationen von FabricDataFrames mit regulären pandas DataFrames auch weitergeben, wenn Sie den FabricDataFrame an die erste Stelle setzen.

Semantische Verteilung für Spark-Benutzer

Der native Spark-Connector von Semantic Link hydratisiert (oder füllt) das Metadaten-Wörterbuch einer Spark-Spalte auf. Derzeit ist die Unterstützung für die semantische Verteilung begrenzt und unterliegt der internen Implementierung der Weitergabe von Schemainformationen von Spark. Beispielsweise werden die Metadaten bei der Spaltenaggregation entfernt.