Udostępnij za pośrednictwem


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.

    Zrzut ekranu przedstawiający menu przełącznika środowiska pokazujące, gdzie wybrać 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.

  1. Zainstaluj z SemPy poziomu interfejsu %pip PyPI przy użyciu funkcji instalacji wbudowanej w notesie:

    %pip install semantic-link
    
  2. Wykonaj niezbędne importy modułów, które będą potrzebne później:

    import sempy.fabric as fabric
    
  3. Możesz nawiązać połączenie z obszarem roboczym usługi Power BI. Wyświetl listę modeli semantycznych w obszarze roboczym:

    fabric.list_datasets()
    
  4. 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)

Zapoznaj się z innymi samouczkami dotyczącymi linku semantycznego /SemPy: