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.