Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Łączność z usługą Power BI jest podstawą linku semantycznego w usłudze Microsoft Fabric. W tym artykule opisano sposoby, w jakie link semantyczny zapewnia łączność z semantycznymi modelami dla użytkowników ekosystemów bibliotek pandas języka Python i platformy Apache Spark.
Model semantyczny zwykle reprezentuje wysoki standard danych, który jest wynikiem nadrzędnego przetwarzania i uściślenia danych. Analitycy biznesowi mogą:
- Kodowanie wiedzy o domenie i logiki biznesowej do miar usługi Power BI.
- Tworzenie raportów usługi Power BI przy użyciu modeli semantycznych.
- Te raporty umożliwiają podejmowanie decyzji biznesowych.
Gdy naukowcy danych pracujący z tymi samymi modelami semantycznymi próbują zduplikować logikę biznesową w różnych środowiskach kodowania lub językach, może to prowadzić do krytycznych błędów. Semantyczne połączenie wypełnia lukę między modelami semantycznymi a doświadczeniem Nauki o danych w Synapse w Microsoft Fabric, umożliwiając analitykom biznesowym i naukowcom zajmującym się danymi bezproblemową współpracę i zmniejszenie niezgodności danych.
Link semantyczny oferuje łączność z:
- Ekosystem Python pandas poprzez bibliotekę Python SemPy.
- Modele semantyczne za pośrednictwem natywnego łącznika platformy Spark, który obsługuje oprogramowanie PySpark, Spark SQL, R i Scala.
Łączność danych za pośrednictwem biblioteki języka Python SemPy dla użytkowników biblioteki pandas
Biblioteka SemPy języka Python jest częścią funkcji linku semantycznego i obsługuje użytkowników biblioteki pandas. Funkcje SemPy obejmują pobieranie danych z tabel, obliczanie miar i wykonywanie zapytań i metadanych języka Data Analysis Expressions (DAX).
W przypadku platformy Spark w wersji 3.4 lub nowszej link semantyczny jest dostępny w domyślnym środowisku uruchomieniowym podczas korzystania z Fabric i nie ma potrzeby jego instalowania.
W przypadku platformy Spark 3.3 lub nowszej albo zaktualizowania do najnowszej wersji linku semantycznego uruchom następujące polecenie:
%pip install -U semantic-link
Biblioteka SemPy rozszerza również ramki danych pandas z dodanymi metadanymi propagowanymi ze źródła danych usługi Power BI. Te metadane obejmują:
- Kategorie danych usługi Power BI:
- Geograficzne: Adres, miejsce, miasto
- Adres URL: internetowy adres URL, adres URL obrazu
- Kod kreskowy
- Relacje między tabelami
- Hierarchie
Łączność danych za pośrednictwem łącznika natywnego platformy Spark linku semantycznego
Link semantyczny łącznik natywny platformy Spark umożliwia użytkownikom platformy Spark dostęp do tabel i miar usługi Power BI. Łącznik jest niezależny od języka i obsługuje oprogramowanie PySpark, Spark SQL, R i Scala.
Aby użyć natywnego łącznika Spark, reprezentujesz modele semantyczne jako przestrzenie nazw Spark i przezroczysto udostępniasz tabele Power BI jako tabele Spark.
Następujące polecenie konfiguruje platformę Spark do używania natywnego łącznika platformy Power BI Spark dla usługi Spark SQL:
spark.conf.set("spark.sql.catalog.pbi", "com.microsoft.azure.synapse.ml.powerbi.PowerBICatalog")
# Optionally, configure the workspace using its ID
# Resolve workspace name to ID using fabric.resolve_workspace_id("My workspace")
# Replace 00000000-0000-0000-0000-000000000000 with your own workspace ID
# spark.conf.set("spark.sql.catalog.pbi.workspace, "00000000-0000-0000-0000-000000000000")
Następujące polecenie wyświetla listę wszystkich tabel w modelu semantycznym o nazwie Sales Dataset:
%%sql
SHOW TABLES FROM pbi.`Sales Dataset`
Następujące polecenie wyświetla dane z Customer tabeli w modelu Sales Datasetsemantycznym :
%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer
Miary Power BI są dostępne przez wirtualną tabelę _Metrics, co pozwala na połączenie relacyjnego Spark SQL z wielowymiarową usługą Power BI. W poniższym przykładzie Total Revenue i Revenue Budget są miarami zdefiniowanymi w Sales Dataset modelu semantycznym, a pozostałe kolumny są wymiarami. Funkcje agregacji, takie jak AVG , są ignorowane dla miar i są obecne tylko w celu zapewnienia spójności z językiem SQL.
Łącznik obsługuje przesunięcie predykatu obliczeń, takie jak Customer[State] in ('CA', 'WA'), z wyrażeń Spark do silnika Power BI, aby umożliwić korzystanie z zoptymalizowanego silnika Power BI.
SELECT
`Customer[Country/Region]`,
`Industry[Industry]`,
AVG(`Total Revenue`),
AVG(`Revenue Budget`)
FROM
pbi.`Sales Dataset`.`_Metrics`
WHERE
`Customer[State]` in ('CA', 'WA')
GROUP BY
`Customer[Country/Region]`,
`Industry[Industry]`
Rozszerzanie danych za pomocą miar usługi Power BI
Operacja add_measure jest zaawansowaną funkcją linku semantycznego, która umożliwia rozszerzanie danych miarami z modeli semantycznych. Ta operacja jest dostępna tylko w bibliotece języka Python SemPy i nie jest obsługiwana w łączniku natywnym platformy Spark. Aby uzyskać więcej informacji dotyczących metody add_measure, zobacz add_measure w dokumentacji FabricDataFrame klasy.
Aby użyć biblioteki SemPy języka Python, zainstaluj ją w jądrze notesu, uruchamiając następujący kod w komórce notesu:
# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame
W poniższym przykładzie kodu przyjęto założenie, że masz istniejącą ramkę FabricDataFrame z danymi, które mają zostać rozszerzone o miary z modelu semantycznego.
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", "Total Budget"], dataset="Sales Dataset")
Metoda add_measure wykonuje następujące czynności:
- Przypisuje nazwy kolumn w ramce danych FabricDataFrame do wymiarów Power BI. Operacja ignoruje wszystkie nazwy kolumn, których nie można rozpoznać w danym modelu semantycznym. Aby uzyskać więcej informacji, zobacz obsługiwaną składnię języka DAX.
- Definiuje
group bykolumny przy użyciu rozpoznanych nazw kolumn. - Na poziomie
group byoblicza jedną lub więcej miar. - Filtruje wynik według istniejących wierszy w elemencie FabricDataFrame.