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 doświadczeń w lewej dolnej części strony głównej, aby przełączyć się na Fabric.
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 notatnik do tego samouczka, postępuj zgodnie z instrukcjami w Prepare your system for data science tutorials (Przygotuj swój system do samouczków nauki o danych), aby zaimportować notatnik 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 - Samouczek : walidacja danych przy użyciu biblioteki SemPy i Great Expectations (GX)