Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial mostra como usar SemPy (versão prévia) para calcular medidas em modelos semânticos do Power BI.
Neste tutorial, você aprenderá a:
- Avaliar as medidas do Power BI programaticamente usando a interface Python da SemPy (biblioteca de link semântico)
- Saiba mais sobre os componentes do SemPy que ajudam a fazer a ponte entre IA e BI:
- FabricDataFrame — estrutura semelhante a pandas aprimorada com informações semânticas
- Funções que obtêm modelos semânticos, incluindo dados brutos, configurações e medidas
Pré-requisitos
Obtenha uma assinatura do Microsoft Fabric. Ou, inscreva-se para uma avaliação gratuita do Microsoft Fabric.
Entre no Microsoft Fabric.
Alterne para o Fabric usando o alternador de experiências no canto inferior esquerdo da página inicial.
No painel de navegação, selecione Workspaces e selecione seu workspace para defini-lo como o workspace atual.
Baixe o modelo semântico PBIX.pbix de Exemplo de Análise de Varejo e carregue-o no workspace.
Acompanhar no notebook
O notebook powerbi_measures_tutorial.ipynb acompanha este tutorial.
Para abrir o bloco de anotações que acompanha este tutorial, siga as instruções em Preparar seu sistema para tutoriais de ciência de dados para importar o bloco de anotações para o seu ambiente de trabalho.
Se preferir copiar e colar o código a partir dessa página, você poderá criar um novo notebook.
Certifique-se de anexar um lakehouse ao notebook antes de começar a executar o código.
Configurar o notebook
Nesta seção, você configurará um ambiente de notebook.
Instale
SemPypor meio do PyPI usando%pipembutido no notebook.%pip install semantic-link-sempyImporte os módulos que você usará mais tarde.
import sempy.fabric as fabricConecte-se ao workspace do Power BI e liste os modelos semânticos no workspace.
fabric.list_datasets()Carregue o modelo semântico. Neste tutorial, você usará o modelo semântico de Exemplo de Análise de Varejo.
dataset = "Retail Analysis Sample"dataset = "Retail Analysis Sample PBIX"
Listar medidas do espaço de trabalho
Use SemPy para list_measures listar medidas em um modelo semântico:
fabric.list_measures(dataset)
Avaliar medidas
Use a função do evaluate_measure SemPy para avaliar medidas de diferentes maneiras.
Avaliar uma medida bruta
Use a função do SemPy para calcular a medida pré-configurada chamada "Tamanho médio da evaluate_measure área de venda".
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Avaliar uma medida com groupby_columns
Agrupe o resultado por colunas usando o groupby_columns parâmetro:
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Esse código agrupa por Store[Chain] e Store[DistrictName].
Avaliar uma medida com filtros
Use o filters parâmetro para limitar os resultados a valores de coluna específicos:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
Neste exemplo, Store está a tabela, Territory é a coluna e PA é um valor permitido.
Avaliar uma medida entre várias tabelas
Agrupar por colunas em várias tabelas no modelo semântico.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Avaliar várias medidas
A evaluate_measure função permite fornecer vários identificadores de medida e retorna os valores calculados em um único DataFrame:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Usar o conector XMLA do Power BI
O cliente de modelo semântico padrão usa as APIs REST do Power BI. Se as consultas falharem com esse cliente, alterne para o ponto de extremidade XMLA do Power BI definindo use_xmla=True. Os parâmetros SemPy são os mesmos para cálculos de medida com XMLA.
fabric.evaluate_measure(dataset, \
measure=["Average Selling Area Size", "Total Stores"], \
groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
use_xmla=True)
Conteúdo relacionado
Consulte outros tutoriais semânticos e semânticos do SemPy:
- Tutorial: Limpar dados com dependências funcionais
- Tutorial: Analisar dependências funcionais em um modelo semântico de exemplo
- Tutorial: Descobrir relações em um modelo semântico usando o link semântico
- Tutorial: Descobrir relações no conjunto de dados do Synthea usando o link semântico
- Tutorial: validar dados usando SemPy e GX (Great Expectations)