Samouczek: wyodrębnianie i obliczanie miar usługi Power BI z notesu Jupyter
W tym samouczku pokazano, jak używać rozwiązania SemPy (wersja zapoznawcza) do obliczania miar w modelach semantycznych (zestawy danych usługi Power BI).
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Programowe ocenianie miar usługi Power BI za pomocą interfejsu języka Python biblioteki języka Python (SemPy) linku semantycznego.
- Zapoznaj się ze składnikami rozwiązania SemPy, które pomagają wypełnić lukę między sztuczną inteligencją a usługą BI. Te składniki obejmują:
- FabricDataFrame — struktura podobna do biblioteki pandas rozszerzona o dodatkowe informacje semantyczne.
- Przydatne funkcje, które umożliwiają pobieranie modeli semantycznych, w tym danych pierwotnych, konfiguracji i miar.
Wymagania wstępne
Uzyskaj subskrypcję usługi Microsoft Fabric. Możesz też utworzyć konto bezpłatnej wersji próbnej usługi Microsoft Fabric.
Zaloguj się do usługi Microsoft Fabric.
Użyj przełącznika środowiska po lewej stronie głównej, aby przełączyć się na środowisko usługi Synapse Nauka o danych.
Wybierz pozycję Obszary robocze w okienku nawigacji po lewej stronie, aby znaleźć i wybrać obszar roboczy. Ten obszar roboczy staje się bieżącym obszarem roboczym.
Pobierz model semantyczny PBIX.pbix z przykładu Retail Analysis i przekaż go do obszaru roboczego.
Postępuj zgodnie z instrukcjami w notesie
Notes powerbi_measures_tutorial.ipynb towarzyszy temu samouczkowi.
Aby otworzyć towarzyszący notes na potrzeby tego samouczka, postępuj zgodnie z instrukcjami w temacie Przygotowywanie systemu do celów nauki o danych, aby zaimportować notes do obszaru roboczego.
Jeśli wolisz skopiować i wkleić kod z tej strony, możesz utworzyć nowy notes.
Przed rozpoczęciem uruchamiania kodu pamiętaj, aby dołączyć usługę Lakehouse do notesu .
Konfigurowanie notesu
W tej sekcji skonfigurujesz środowisko notesu z niezbędnymi modułami i danymi.
Zainstaluj z
SemPy
poziomu interfejsu%pip
PyPI przy użyciu funkcji instalacji wbudowanej w notesie:%pip install semantic-link
Wykonaj niezbędne importy modułów, które będą potrzebne później:
import sempy.fabric as fabric
Możesz nawiązać połączenie z obszarem roboczym usługi Power BI. Wyświetl listę modeli semantycznych w obszarze roboczym:
fabric.list_datasets()
Załaduj model semantyczny. W tym samouczku użyjesz modelu semantycznego PBIX z przykładu Retail Analysis:
dataset = "Retail Analysis Sample PBIX"
Wyświetlanie listy miar obszaru roboczego
Wyświetl listę miar w modelu semantycznym, używając funkcji SemPy list_measures
w następujący sposób:
fabric.list_measures(dataset)
Ocena miar
W tej sekcji oceniasz miary na różne sposoby przy użyciu funkcji SemPy evaluate_measure
.
Ocena nieprzetworzonej miary
W poniższym kodzie użyj funkcji SemPy evaluate_measure
, aby obliczyć wstępnie skonfigurowaną miarę o nazwie "Średni rozmiar obszaru sprzedaży". Formuła bazowa dla tej miary jest widoczna w danych wyjściowych poprzedniej komórki.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Ocena miary za pomocą polecenia groupby_columns
Dane wyjściowe miary można zgrupować według niektórych kolumn, podając dodatkowy parametr groupby_columns
:
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
W poprzednim kodzie pogrupowane według kolumn Chain
i DistrictName
Store
tabeli w modelu semantycznym.
Ocena miary za pomocą filtrów
Można również użyć parametru filters
, aby określić określone wartości, które wynik może zawierać dla określonych kolumn:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
W poprzednim kodzie Store
jest nazwą tabeli, Territory
jest nazwą kolumny i PA
jest jedną z wartości dozwolonych przez filtr.
Ocena miary w wielu tabelach
Miarę można grupować według kolumn obejmujących wiele tabel w modelu semantycznym.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Ocena wielu miar
Funkcja evaluate_measure
umożliwia podawanie identyfikatorów wielu miar i wyprowadzanie wartości obliczeniowych w tej samej ramce danych:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Używanie łącznika XMLA usługi Power BI
Domyślny klient modelu semantycznego jest wspierany przez interfejsy API REST usługi Power BI. Jeśli występują problemy z uruchamianiem zapytań z tym klientem, możliwe jest przełączenie zaplecza do interfejsu XMLA usługi Power BI przy użyciu polecenia use_xmla=True
. Parametry SemPy pozostają takie same dla obliczeń miar za pomocą 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)
Powiązana zawartość
Zapoznaj się z innymi samouczkami dotyczącymi linku semantycznego /SemPy:
- Samouczek: czyszczenie danych przy użyciu zależności funkcjonalnych
- Samouczek: analizowanie zależności funkcjonalnych w przykładowym modelu semantycznym
- Samouczek: odnajdywanie relacji w modelu semantycznym przy użyciu linku semantycznego
- Samouczek: odnajdywanie relacji w zestawie danych Synthea przy użyciu linku semantycznego (wersja zapoznawcza)
- Samouczek: weryfikowanie danych przy użyciu bibliotekI SemPy i wielkich oczekiwań (GX) (wersja zapoznawcza)