Propagation de données sémantiques à partir de modèles sémantiques
Quand vous lisez un modèle sémantique dans un FabricDataFrame, les informations sémantiques comme les métadonnées et les annotations du modèle sémantique sont automatiquement attachées au FabricDataFrame. Dans cet article, vous allez découvrir comment la bibliothèque Python SemPy préserve les annotations attachées aux tables et aux colonnes d’un modèle sémantique.
Propagation sémantique pour les utilisateurs de Pandas
La bibliothèque SemPy Python fait partie de la fonctionnalité de lien sémantique et sert les utilisateurs pandas. SemPy prend en charge les opérations que Pandas vous permet d’effectuer sur vos données.
SemPy vous permet également de propager des données sémantiques à partir de modèles sémantiques sur lesquels vous travaillez. En propageant les données sémantiques, vous pouvez préserver les annotations attachées à des tables et des colonnes dans le modèle sémantique quand vous effectuez des opérations comme le découpage, les fusions et la concaténation.
Vous pouvez créer une structure de données FabricDataFrame de deux façons :
Vous pouvez lire une table ou la sortie d’une mesure à partir d’un modèle sémantique dans un FabricDataFrame.
Quand vous lisez depuis un modèle sémantique dans un FabricDataFrame, les métadonnées de Power BI hydratent (ou remplissent) automatiquement le FabricDataFrame. En d’autres termes, le FabricDataFrame préserve les informations sémantiques des tables ou des mesures du modèle sémantique.
Vous pouvez utiliser des données en mémoire pour créer le FabricDataFrame, tout comme vous le faites pour les DataFrames Pandas.
Quand vous créez un FabricDataFrame à partir de données en mémoire, vous devez fournir le nom d’un modèle sémantique duquel le FabricDataFrame peut extraire les informations des métadonnées.
La façon dont SemPy conserve les données sémantiques varie en fonction de facteurs comme les opérations que vous effectuez et l’ordre des FabricDataFrame sur lesquels vous travaillez.
Propagation sémantique avec fusion
Quand vous fusionnez deux FabricDataFrame, l’ordre des DataFrames détermine la façon dont SemPy propage les informations sémantiques.
Si les deux FabricDataFrames sont annotés, les métadonnées au niveau de la table du FabricDataFrame de gauche sont prioritaires. La même règle s’applique aux colonnes individuelles : les annotations de colonne dans le FabricDataFrame de gauche sont prioritaires par rapport aux annotations de colonne dans le DataFrame de droite.
Si un seul FabricDataFrame est annoté, SemPy utilise ses métadonnées. La même règle s’applique aux colonnes individuelles : SemPy utilise les annotations de colonne présentes dans le FabricDataFrame annoté.
Propagation sémantique avec la concaténation
Quand vous concaténez plusieurs FabricDataFrame, pour chaque colonne, SemPy copie les métadonnées du premier FabricDataFrame qui correspond au nom de la colonne. S’il existe plusieurs correspondances et que les métadonnées ne sont pas identiques, SemPy émet un avertissement.
Vous pouvez aussi propager des concaténations de FabricDataFrames avec des DataFrames Pandas standard en plaçant le FabricDataFrame en premier.
Propagation sémantique pour les utilisateurs Spark
Le connecteur natif Semantic Link Spark hydrate (ou renseigne) le dictionnaire de métadonnées d’une colonne Spark. Actuellement, la prise en charge de la propagation sémantique est limitée et soumise à l’implémentation interne de Spark quant à la façon dont les informations de schéma sont propagées. Par exemple, l’agrégation de colonnes élimine les métadonnées.
Contenu connexe
- Référence de la classe FabricDataFrame de SemPy
- Bien démarrer avec le lien sémantique Python (SemPy)
- Tutoriel : Analyser les dépendances fonctionnelles dans un modèle sémantique d’échantillon
- Explorer et valider des données avec un lien sémantique
- Explorer et valider les relations dans des modèles sémantiques