Zdarzenia
31 mar, 23 - 2 kwi, 23
Największe wydarzenie szkoleniowe usługi Fabric, Power BI i SQL. 31 marca – 2 kwietnia. Użyj kodu FABINSIDER, aby zaoszczędzić $400.
Zarejestruj się już dziśTa przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
Z tego artykułu dowiesz się, jak odczytywać dane i metadane oraz oceniać miary w modelach semantycznych przy użyciu biblioteki języka Python SemPy w usłudze Microsoft Fabric. Dowiesz się również, jak zapisywać dane, z których mogą korzystać modele semantyczne.
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 w lewej dolnej części strony głównej, aby przełączyć się na Fabric.
python %pip install -U semantic-link
W tym artykule jest używany model semantyczny Customer Profitability Sample.pbix . Ten semantyczny model odwołuje się do materiałów marketingowych firmy. Zawiera on dane dotyczące produktów, klientów i odpowiednich przychodów dla różnych jednostek biznesowych.
Po zakończeniu przekazywania obszar roboczy ma trzy nowe artefakty: raport usługi Power BI, pulpit nawigacyjny i semantyczny model o nazwie Customer Profitability Sample. Kroki opisane w tym artykule opierają się na tym modelu semantycznym.
Interfejs API języka Python SemPy może pobierać dane i metadane z modeli semantycznych znajdujących się w obszarze roboczym usługi Microsoft Fabric. Interfejs API może również wykonywać na nich zapytania.
Notes, semantyczny model zestawu danych usługi Power BI i usługa Lakehouse mogą znajdować się w tym samym obszarze roboczym lub w różnych obszarach roboczych. Domyślnie program SemPy próbuje uzyskać dostęp do modelu semantycznego z:
Jeśli model semantyczny nie znajduje się w jednym z tych obszarów roboczych, podczas wywoływania metody SemPy należy określić obszar roboczy modelu semantycznego.
Aby odczytać dane z modeli semantycznych:
Wyświetl listę dostępnych modeli semantycznych w obszarze roboczym.
import sempy.fabric as fabric
df_datasets = fabric.list_datasets()
df_datasets
Wyświetl tabele dostępne w modelu semantycznym Customer Profitability Sample .
df_tables = fabric.list_tables("Customer Profitability Sample", include_columns=True)
df_tables
Wyświetl listę miar zdefiniowanych w modelu semantycznym przykładu Customer Profitability .
Porada
W poniższym przykładzie kodu określono obszar roboczy dla biblioteki SemPy, który ma być używany do uzyskiwania dostępu do modelu semantycznego. Możesz zastąpić Your Workspace
ciąg nazwą obszaru roboczego, w którym został przekazany model semantyczny (z sekcji Przekaż model semantyczny do obszaru roboczego ).
df_measures = fabric.list_measures("Customer Profitability Sample", workspace="Your Workspace")
df_measures
W tym miejscu ustaliliśmy, że tabela Customer (Klient ) jest tabelą zainteresowań.
Przeczytaj tabelę Customer (Klient) z modelu semantycznego Customer Profitability Sample.
df_table = fabric.read_table("Customer Profitability Sample", "Customer")
df_table
Uwaga
Oceń miarę Total Revenue (Łączny przychód ) dla stanu i daty każdego klienta.
df_measure = fabric.evaluate_measure(
"Customer Profitability Sample",
"Total Revenue",
["'Customer'[State]", "Calendar[Date]"])
df_measure
Uwaga
Aby dodać filtry do obliczenia miary, określ listę dopuszczalnych wartości dla określonej kolumny.
filters = {
"State[Region]": ["East", "Central"],
"State[State]": ["FLORIDA", "NEW YORK"]
}
df_measure = fabric.evaluate_measure(
"Customer Profitability Sample",
"Total Revenue",
["Customer[State]", "Calendar[Date]"],
filters=filters)
df_measure
Możesz również ocenić miarę Łączny przychód na stan i datę klienta za pomocą zapytania języka DAX.
df_dax = fabric.evaluate_dax(
"Customer Profitability Sample",
"""
EVALUATE SUMMARIZECOLUMNS(
'State'[Region],
'Calendar'[Date].[Year],
'Calendar'[Date].[Month],
"Total Revenue",
CALCULATE([Total Revenue]))
""")
Uwaga
%%dax
Użyj magii komórki, aby ocenić to samo zapytanie języka DAX bez konieczności importowania biblioteki. Uruchom tę komórkę, aby załadować %%dax
magię komórek:
%load_ext sempy
Parametr obszaru roboczego jest opcjonalny. Jest zgodny z tymi samymi regułami co parametr obszaru roboczego evaluate_dax
funkcji.
Magia komórki obsługuje również dostęp do zmiennych języka Python ze składnią {variable_name}
.
Aby użyć nawiasu klamrowego w zapytaniu języka DAX, należy go użyć innego nawiasu klamrowego (na przykład: EVALUATE {{1}}
).
%%dax "Customer Profitability Sample" -w "Your Workspace"
EVALUATE SUMMARIZECOLUMNS(
'State'[Region],
'Calendar'[Date].[Year],
'Calendar'[Date].[Month],
"Total Revenue",
CALCULATE([Total Revenue]))
Wynikowy element FabricDataFrame jest dostępny za pośrednictwem zmiennej _
. Ta zmienna przechwytuje dane wyjściowe ostatniej wykonanej komórki.
df_dax = _
df_dax.head()
Miary można dodawać do danych pobranych ze źródeł zewnętrznych. To podejście łączy trzy zadania:
from sempy.fabric import FabricDataFrame
df = FabricDataFrame({
"Sales Agent": ["Agent 1", "Agent 1", "Agent 2"],
"Customer[Country/Region]": ["US", "GB", "US"],
"Industry[Industry]": ["Services", "CPG", "Manufacturing"],
}
)
joined_df = df.add_measure("Total Revenue", dataset="Customer Profitability Sample")
joined_df
Pliki SemPy read_table
i evaluate_measure
metody mają więcej parametrów, które są przydatne do manipulowania danymi wyjściowymi. Te parametry obejmują:
fully_qualified_columns
: Dla wartości "True" metody zwracają nazwy kolumn w formularzu TableName[ColumnName]
num_rows
: liczba wierszy do danych wyjściowych w wynikupandas_convert_dtypes
: W przypadku wartości "True" biblioteka pandas rzutuje wynikowe kolumny ramki danych na najlepszy możliwy typconvert_dtypes.
Jeśli ten parametr jest wyłączony, mogą wynikać problemy z niezgodnością między kolumnami powiązanych tabel; model usługi Power BI może nie wykryć tych problemów z powodu niejawnej konwersji typu języka DAXOprogramowanie SemPy read_table
używa również informacji o modelu, które udostępnia usługa Power BI.
multiindex_hierarchies
: Jeśli wartość "True", konwertuje hierarchie usługi Power BI na strukturę pandas MultiIndexTabele platformy Spark dodane do usługi Lakehouse są automatycznie dodawane do odpowiedniego domyślnego modelu semantycznego. W tym przykładzie pokazano, jak zapisywać dane w dołączonej usłudze Lakehouse. Element FabricDataFrame akceptuje te same dane wejściowe co ramki danych biblioteki Pandas.
from sempy.fabric import FabricDataFrame
df_forecast = FabricDataFrame({'ForecastedRevenue': [1, 2, 3]})
df_forecast.to_lakehouse_table("ForecastTable")
Za pomocą usługi Power BI tabela ForecastTable można dodać do złożonego modelu semantycznego z semantycznym modelem lakehouse.
Zdarzenia
31 mar, 23 - 2 kwi, 23
Największe wydarzenie szkoleniowe usługi Fabric, Power BI i SQL. 31 marca – 2 kwietnia. Użyj kodu FABINSIDER, aby zaoszczędzić $400.
Zarejestruj się już dziśSzkolenie
Ścieżka szkoleniowa
Praca z modelami semantycznymi w usłudze Microsoft Fabric - Training
Projektowanie raportów na potrzeby skali przedsiębiorstwa wymaga więcej niż tylko nawiązywania połączenia z danymi. Zrozumienie modeli semantycznych i strategii dotyczących skalowalności i zarządzania cyklem życia jest kluczem do pomyślnej implementacji przedsiębiorstwa. Ta ścieżka szkoleniowa ułatwia przygotowanie do certyfikacji inżyniera analizy sieci szkieletowej.
Certyfikacja
Microsoft Certified: Fabric Analytics Engineer Associate - Certifications
Jako inżynier analizy sieci szkieletowej należy dysponować wiedzą specjalistyczną w zakresie projektowania, tworzenia i wdrażania rozwiązań do analizy danych w skali przedsiębiorstwa.