Partilhar via


Propagação de dados semânticos a partir de modelos semânticos

Quando você lê um modelo semântico em um FabricDataFrame, informações semânticas, como metadados e anotações do modelo semântico, são automaticamente anexadas ao FabricDataFrame. Neste artigo, você aprenderá como a biblioteca Python SemPy preserva anotações anexadas às tabelas e colunas de um modelo semântico.

Propagação semântica para usuários de pandas

A biblioteca Python SemPy faz parte do recurso de link semântico e serve aos usuários pandas . O SemPy suporta as operações que os pandas permitem que você execute em seus dados.

O SemPy também permite propagar dados semânticos de modelos semânticos nos quais você opera. Ao propagar dados semânticos, você pode preservar anotações anexadas a tabelas e colunas no modelo semântico ao executar operações como fatiamento, mesclagem e concatenação.

Você pode criar uma estrutura de dados FabricDataFrame de duas maneiras:

  • Você pode ler uma tabela ou a saída de uma medida de um modelo semântico em um FabricDataFrame.

    Quando você lê de um modelo semântico em um FabricDataFrame, os metadados do Power BI hidratam ou preenchem automaticamente o FabricDataFrame. Em outras palavras, o FabricDataFrame preserva as informações semânticas das tabelas ou medidas do modelo.

  • Você pode usar dados na memória para criar o FabricDataFrame, assim como faz para pandas DataFrames.

    Ao criar um FabricDataFrame a partir de dados na memória, você precisa fornecer o nome de um modelo semântico do qual o FabricDataFrame pode extrair informações de metadados.

A maneira como o SemPy preserva dados semânticos varia dependendo de fatores como as operações que você faz e a ordem dos FabricDataFrames em que você opera.

Propagação semântica com mesclagem

Quando você mescla dois FabricDataFrames, a ordem dos DataFrames determina como o SemPy propaga informações semânticas.

  • Se ambos os FabricDataFrames forem anotados, os metadados no nível da tabela do FabricDataFrame esquerdo terão precedência. A mesma regra se aplica a colunas individuais; as anotações de coluna no FabricDataFrame esquerdo têm precedência sobre as anotações de coluna no DataFrame direito.

  • Se apenas um FabricDataFrame for anotado, o SemPy usará seus metadados. A mesma regra se aplica a colunas individuais; O SemPy usa as anotações de coluna presentes no FabricDataFrame anotado.

Propagação semântica com concatenação

Quando você concatena vários FabricDataFrame, para cada coluna, o SemPy copia os metadados do primeiro FabricDataFrame que corresponde ao nome da coluna. Se houver várias correspondências e os metadados não forem os mesmos, o SemPy emitirá um aviso.

Você também pode propagar concatenações de FabricDataFrames com pandas DataFrames regulares colocando o FabricDataFrame primeiro.

Propagação semântica para usuários do Spark

O link semântico Conector nativo do Spark hidrata (ou preenche) o dicionário de metadados de uma coluna do Spark. Atualmente, o suporte para propagação semântica é limitado e está sujeito à implementação interna do Spark de como as informações do esquema são propagadas. Por exemplo, a agregação de colunas remove os metadados.