Compartilhar via


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

Quando você lê um modelo semântico em um FabricDataFrame, as 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 SemPy do Python preserva as anotações anexadas às tabelas e às colunas do modelo semântico.

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

A biblioteca Python SemPy faz parte do recurso de link semântico e serve aos usuários do pandas. A SemPy dá suporte às operações que o Pandas permite que você execute nos dados.

A 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 às tabelas e às colunas do modelo semântico ao executar operações como divisão, 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ê 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 das medidas do modelo.

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

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

A maneira como a 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 uma operação de mesclagem

Quando você mescla dois FabricDataFrames, a ordem dos DataFrames determina como as informações semânticas da SemPy são propagadas.

  • Se os dois FabricDataFrames estiverem anotados, os metadados em nível de tabela do FabricDataFrame à esquerda terão precedência. A mesma regra se aplica a colunas individuais; as anotações de coluna presentes no FabricDataFrame à esquerda têm precedência sobre as anotações de coluna no FabricDataFrame à direita.

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

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

Quando você executa a concatenação em vários FabricDataFrames, para cada coluna, a 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, a SemPy emitirá um aviso.

Você também pode propagar as concatenações de FabricDataFrames com DataFrames comuns do Pandas colocando o FabricDataFrame primeiro.

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

O link semântico do 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 distribui os metadados.