Compartir a través de


Propagación de datos semánticos de modelos semánticos

Al leer un modelo semántico en FabricDataFrame, la información semántica, como los metadatos y las anotaciones del modelo semántico, se adjuntan automáticamente a FabricDataFrame. En este artículo, obtendrá información sobre cómo la biblioteca de Python de SemPy conserva las anotaciones asociadas a las tablas y columnas de un modelo semántico.

Propagación semántica para usuarios pandas

La biblioteca de Python de SemPy forma parte de la característica de vínculo semántico y sirve a los usuarios de pandas. SemPy admite las operaciones que pandas permite realizar en los datos.

SemPy también le permite propagar datos semánticos a partir de modelos semánticos en los que opera. Al propagar datos semánticos, puede conservar las anotaciones adjuntas a tablas y columnas del modelo semántico al realizar operaciones como la segmentación, las combinaciones y la concatenación.

Puede crear una estructura de datos FabricDataFrame de dos maneras:

  • Puede leer una tabla o la salida de una medida desde un modelo semántico y a un FabricDataFrame.

    Cuando se lee de un modelo semántico en FabricDataFrame, los metadatos de Power BI hidratan o completan automáticamente FabricDataFrame. Es decir, el FabricDataFrame conserva la información semántica de las tablas o medidas del modelo.

  • Puede usar datos en memoria para crear FabricDataFrame, al igual que lo hace para los Dataframes de pandas.

    Al crear un FabricDataFrame a partir de datos en memoria, debe proporcionar el nombre de un modelo semántico desde el que FabricDataFrame puede extraer información de metadatos.

La forma en que SemPy conserva los datos semánticos varía en función de factores como las operaciones que realice y el orden de los FabricDataFrames en los que opera.

Propagación semántica con combinación

Al combinar dos FabricDataFrames, el orden de los DataFrames determina cómo SemPy propaga la información semántica.

  • Si se anotan ambos FabricDataFrames, los metadatos de nivel de tabla del FabricDataFrame izquierdo tienen prioridad. La misma regla se aplica a columnas individuales; las anotaciones de columna en el FabricDataFrame izquierdo tienen prioridad sobre las anotaciones de columna en el DataFrame de la derecha.

  • Si solo se anota un FabricDataFrame, SemPy usa sus metadatos. La misma regla se aplica a columnas individuales; SemPy usa las anotaciones de columna presentes en el FabricDataFrame anotado.

Propagación semántica con concatenación

Al concatenar varios FabricDataFrames, para cada columna, SemPy copia los metadatos del primer FabricDataFrame que coincide con el nombre de columna. Si hay varias coincidencias y los metadatos no son iguales, SemPy emitirá una advertencia.

También puede propagar concatenaciones de FabricDataFrames con DataFrames pandas normales colocando primero FabricDataFrame.

Propagación semántica para usuarios de Spark

El conector nativo de Spark de vínculo semántico hidrata (o rellena) el diccionario de metadatos de una columna de Spark. Actualmente, la compatibilidad con la propagación semántica es limitada y está sujeta a la implementación interna de Spark de cómo se propaga la información del esquema. Por ejemplo, la agregación de columnas quita los metadatos.