Tutorial: Extrair e calcular medidas do Power BI a partir de um bloco de notas Jupyter
Este tutorial ilustra como usar o SemPy (visualização) para calcular medidas em modelos semânticos (conjuntos de dados do Power BI).
Neste tutorial, irá aprender a:
- Avalie as medidas do Power BI programaticamente por meio de uma interface Python da biblioteca Python do link semântico (SemPy).
- Familiarize-se com os componentes do SemPy que ajudam a preencher a lacuna entre IA e BI. Esses componentes incluem:
- FabricDataFrame - uma estrutura semelhante a pandas aprimorada com informações semânticas adicionais.
- Funções úteis que permitem buscar 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.
Use o seletor de experiência no lado esquerdo da sua página inicial para alternar para a experiência Synapse Data Science.
Selecione Espaços de trabalho no painel de navegação esquerdo para localizar e selecionar seu espaço de trabalho. Este espaço de trabalho torna-se o seu espaço de trabalho atual.
Transfira o modelo semântico PBIX.pbix de exemplo de análise de retalho e carregue-o para a sua área de trabalho.
Acompanhe no caderno
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 seu espaço de trabalho.
Se preferir copiar e colar o código desta página, pode criar um novo bloco de notas.
Certifique-se de anexar um lakehouse ao bloco de anotações antes de começar a executar o código.
Configurar o bloco de notas
Nesta seção, você configura um ambiente de notebook com os módulos e dados necessários.
Instale
SemPy
a partir do PyPI usando o%pip
recurso de instalação em linha no notebook:%pip install semantic-link
Execute as importações necessárias de módulos que você precisará mais tarde:
import sempy.fabric as fabric
Você pode se conectar ao espaço de trabalho do Power BI. Liste os modelos semânticos no espaço de trabalho:
fabric.list_datasets()
Carregue o modelo semântico. Neste tutorial, você usa o modelo semântico PBIX de exemplo de análise de varejo:
dataset = "Retail Analysis Sample PBIX"
Listar medidas do espaço de trabalho
Listar medidas no modelo semântico, usando a função do list_measures
SemPy da seguinte maneira:
fabric.list_measures(dataset)
Avaliar medidas
Nesta seção, você avalia as medidas de várias maneiras, usando a função do evaluate_measure
SemPy.
Avaliar uma medida bruta
No código a seguir, use a função do SemPy para calcular uma medida pré-configurada evaluate_measure
chamada "Tamanho médio da área de venda". Você pode ver a fórmula subjacente para essa medida na saída da célula anterior.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Avalie uma medida com groupby_columns
Você pode agrupar a saída da medida por determinadas colunas fornecendo o parâmetro groupby_columns
extra :
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
No código anterior, você agrupado pelas colunas Chain
e DistrictName
da Store
tabela no modelo semântico.
Avaliar uma medida com filtros
Você também pode usar o filters
parâmetro para especificar valores específicos que o resultado pode conter para colunas específicas:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
No código anterior, Store
é o nome da tabela, Territory
é o nome da coluna e PA
é um dos valores que o filtro permite.
Avaliar uma medida em várias tabelas
Você pode agrupar a medida por colunas que se estendem por 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 função evaluate_measure
permite que você forneça identificadores de várias medidas e produza os valores calculados no mesmo 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 é apoiado pelas APIs REST do Power BI. Se houver algum problema ao executar consultas com esse cliente, é possível alternar o back-end para a interface XMLA do Power BI usando use_xmla=True
o . Os parâmetros SemPy permanecem os mesmos para o cálculo de medidas 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údos relacionados
Confira outros tutoriais para link semântico / 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 link semântico
- Tutorial: Descubra relações no conjunto de dados Synthea, usando link semântico (visualização)
- Tutorial: Validar dados usando SemPy e Grandes Expectativas (GX) (visualização)