Udostępnij za pośrednictwem


Wizualizowanie danych usługi Azure Cosmos DB przy użyciu usługi Power BI

DOTYCZY: NoSQL

W tym artykule opisano kroki wymagane do połączenia danych usługi Azure Cosmos DB z programem Power BI Desktop.

Możesz nawiązać połączenie z usługą Azure Cosmos DB z poziomu programu Power BI Desktop, korzystając z jednej z następujących opcji:

  • Użyj funkcji dublowania w usłudze Microsoft Fabric , aby replikować dane usługi Azure Cosmos DB do usługi Fabric OneLake. Wszelkie zmiany w bazie danych są automatycznie synchronizowane z usługą Fabric OneLake niemal w czasie rzeczywistym bez wpływu na wydajność źródłowej bazy danych lub zużywanie jednostek zasobów (RU).

    Raporty usługi Power BI mogą następnie uzyskiwać dostęp do danych bezpośrednio z usługi OneLake przy użyciu trybu DirectLake. Dzięki ulepszonym funkcjom copilot w usłudze Power BI w usłudze Fabric możesz wykorzystać generowanie sztucznej inteligencji, aby uzyskać kluczowe informacje biznesowe.

  • Użyj usługi Azure Synapse Link , aby tworzyć raporty usługi Power BI bez wpływu na wydajność lub koszty obciążeń transakcyjnych i bez potoków ETL.

    Możesz użyć trybu DirectQuery lub trybu importu . Tryb DirectQuery umożliwia tworzenie pulpitów nawigacyjnych/raportów przy użyciu danych na żywo z kont usługi Azure Cosmos DB bez importowania lub kopiowania danych do usługi Power BI.

  • Połącz program Power BI Desktop z kontem usługi Azure Cosmos DB przy użyciu łącznika usługi Azure Cosmos DB dla usługi Power BI. Ta opcja jest dostępna tylko w trybie importu i będzie zużywać jednostki RU przydzielone dla obciążeń transakcyjnych.

Uwaga

Raporty utworzone w programie Power BI Desktop można publikować w PowerBI.com. Nie można wykonać bezpośredniego wyodrębniania danych usługi Azure Cosmos DB z PowerBI.com.

Wymagania wstępne

Przed wykonaniem instrukcji opisanych w tym samouczku usługi Power BI upewnij się, że masz dostęp do następujących zasobów:

Aby udostępnić raporty w PowerBI.com, musisz mieć konto w PowerBI.com. Aby dowiedzieć się więcej na temat usług Power BI i Power BI Pro, zobacz https://powerbi.microsoft.com/pricing.

Zaczynajmy

Tworzenie raportów analizy biznesowej przy użyciu dublowania w usłudze Microsoft Fabric

Możesz włączyć dublowanie istniejących kontenerów usługi Azure Cosmos DB i tworzyć raporty/pulpity nawigacyjne analizy biznesowej na tych danych niemal w czasie rzeczywistym. Aby uzyskać instrukcje dotyczące rozpoczynania pracy z siecią szkieletową i dublowaniem, odwiedź samouczek dublowania dla usługi Azure Cosmos DB.

Możesz włączyć usługę Azure Synapse Link w istniejących kontenerach usługi Azure Cosmos DB i tworzyć raporty analizy biznesowej na tych danych za pomocą zaledwie kilku kliknięć przy użyciu portalu usługi Azure Cosmos DB. Usługa Power BI połączy się z usługą Azure Cosmos DB przy użyciu trybu zapytań bezpośrednich, umożliwiając wykonywanie zapytań dotyczących na żywo danych usługi Azure Cosmos DB bez wpływu na obciążenia transakcyjne.

Aby utworzyć raport/pulpit nawigacyjny usługi Power BI:

  1. Zaloguj się do witryny Azure Portal i przejdź do swojego konta usługi Azure Cosmos DB.

  2. W sekcji Integracje otwórz okienko usługi Power BI i wybierz pozycję Rozpocznij.

    Uwaga

    Obecnie ta opcja jest dostępna tylko dla kont interfejsu API dla kont NoSQL. Widoki języka T-SQL można tworzyć bezpośrednio w bezserwerowych pulach SQL usługi Synapse i tworzyć pulpity nawigacyjne analizy biznesowej dla usługi Azure Cosmos DB dla bazy danych MongoDB. Aby uzyskać więcej informacji, zobacz "Używanie usługi Power BI i bezserwerowej puli SQL usługi Synapse do analizowania danych usługi Azure Cosmos DB za pomocą usługi Synapse".

  3. Na karcie Włącz usługę Azure Synapse Link możesz włączyć usługę Synapse Link na swoim koncie w sekcji Włączanie linku usługi Azure Synapse dla tego konta . Jeśli usługa Synapse Link jest już włączona dla Twojego konta, ta karta nie będzie widoczna. Ten krok jest wymaganiem wstępnym do rozpoczęcia włączania usługi Synapse Link w kontenerach.

    Uwaga

    Włączenie usługi Azure Synapse Link ma wpływ na koszty. Aby uzyskać więcej informacji, zobacz sekcję cennika usługi Azure Synapse Link.

  4. Następnie w sekcji Włączanie usługi Azure Synapse Link dla kontenerów wybierz wymagane kontenery, aby włączyć usługę Synapse Link.

    • Jeśli usługa Synapse Link została już włączona w niektórych kontenerach, obok nazwy kontenera zostanie zaznaczone pole wyboru. Opcjonalnie możesz usunąć ich zaznaczenie na podstawie danych, które chcesz wizualizować w usłudze Power BI.

    • Jeśli usługa Synapse Link nie jest włączona, możesz włączyć tę opcję w istniejących kontenerach.

      Jeśli włączenie usługi Synapse Link jest w toku w żadnym z kontenerów, dane z tych kontenerów nie zostaną uwzględnione. Wróć do tej karty później i zaimportuj dane po włączeniu kontenerów.

    Postęp usługi Synapse Link włączony w istniejących kontenerach.

  5. W zależności od ilości danych w kontenerach może upłynąć trochę czasu, aby włączyć usługę Synapse Link. Aby dowiedzieć się więcej, zobacz artykuł włączanie usługi Synapse Link w istniejących kontenerach .

    Postęp można sprawdzić w portalu, jak pokazano na poniższym ekranie. Kontenery są włączone za pomocą usługi Synapse Link, gdy postęp osiągnie 100%.

    Usługa Synapse Link została pomyślnie włączona w wybranych kontenerach.

  6. Na karcie Wybierz obszar roboczy wybierz obszar roboczy usługi Azure Synapse Analytics, a następnie wybierz pozycję Dalej. Ten krok spowoduje automatyczne utworzenie widoków języka T-SQL w usłudze Synapse Analytics dla wybranych wcześniej kontenerów. Aby uzyskać więcej informacji na temat widoków języka T-SQL wymaganych do połączenia usługi Azure Cosmos DB z usługą Power BI, zobacz artykuł Przygotowywanie widoków .

    Uwaga

    Twoje trzeźwości kontenera usługi Azure Cosmos DB będą reprezentowane jako kolumny w widokach języka T-SQL, w tym głębokie zagnieżdżone dane JSON. Jest to szybki start dla pulpitów nawigacyjnych analizy biznesowej. Te widoki będą dostępne w obszarze roboczym/bazie danych usługi Synapse; Możesz również użyć tych samych widoków w obszarze roboczym usługi Synapse na potrzeby eksploracji danych, nauki o danych, inżynierii danych itp. Należy pamiętać, że zaawansowane scenariusze mogą wymagać bardziej złożonych widoków lub dostrajania tych widoków, aby uzyskać lepszą wydajność. Więcej informacji. Zobacz artykuł Najlepsze rozwiązania dotyczące usługi Synapse Link podczas korzystania z bezserwerowych pul SQL usługi Synapse.

  7. Możesz wybrać istniejący obszar roboczy lub utworzyć nowy. Aby wybrać istniejący obszar roboczy, podaj szczegóły subskrypcji, obszaru roboczego i bazy danych . Witryna Azure Portal użyje poświadczeń usługi Microsoft Entra, aby automatycznie nawiązać połączenie z obszarem roboczym usługi Synapse i utworzyć widoki języka T-SQL. Upewnij się, że masz uprawnienia administratora usługi Synapse do tego obszaru roboczego.

    Połącz się z obszarem roboczym usługi Synapse Link i utwórz widoki.

  8. Następnie wybierz pozycję Pobierz plik pbids , aby pobrać plik źródła danych usługi Power BI. Otwórz pobrany plik. Zawiera wymagane informacje o połączeniu i otwiera program Power BI Desktop.

    Pobierz pliki programu Power BI Desktop w formacie pbids.

  9. Teraz możesz nawiązać połączenie z danymi usługi Azure Cosmos DB z poziomu programu Power BI Desktop. Zostanie wyświetlona lista widoków języka T-SQL odpowiadających danym w każdym kontenerze.

    Na przykład na poniższym ekranie przedstawiono dane floty pojazdów. Te dane można załadować do dalszej analizy lub przekształcić przed załadowaniem.

    Widoki języka T-SQL odpowiadające danym w każdym kontenerze.

  10. Teraz możesz rozpocząć tworzenie raportu przy użyciu danych analitycznych usługi Azure Cosmos DB. Wszelkie zmiany w danych zostaną odzwierciedlone w raporcie, gdy tylko dane zostaną zreplikowane do magazynu analitycznego, co zwykle ma miejsce w ciągu kilku minut.

Tworzenie raportów analizy biznesowej przy użyciu łącznika usługi Power BI

Uwaga

Nawiązywanie połączenia z usługą Azure Cosmos DB za pomocą łącznika usługi Power BI jest obecnie obsługiwane tylko dla usługi Azure Cosmos DB dla noSQL i interfejsu API dla kont języka Gremlin.

  1. Uruchom program Power BI Desktop.

  2. Możesz pobrać dane, wyświetlić ostatnie źródła lub otworzyć inne raporty bezpośrednio na ekranie powitalnym. Wybierz znak "X" w prawym górnym rogu, aby zamknąć ekran. Zostanie wyświetlony widok Raport programu Power BI Desktop.

    Widok raportu programu Power BI Desktop — łącznik usługi Power BI

  3. Wybierz wstążkę Narzędzia główne , a następnie kliknij pozycję Pobierz dane. Powinno zostać wyświetlone okno Pobieranie danych.

  4. Kliknij pozycję Azure, wybierz pozycję Azure Cosmos DB (beta), a następnie kliknij pozycję Połącz.

    Pobieranie danych w programie Power BI Desktop — łącznik usługi Power BI

  5. Na stronie Łącznik wersji zapoznawczej kliknij przycisk Kontynuuj. Zostanie wyświetlone okno usługi Azure Cosmos DB .

  6. Określ adres URL punktu końcowego konta usługi Azure Cosmos DB, z którego chcesz pobrać dane, jak pokazano poniżej, a następnie kliknij przycisk OK. Aby użyć własnego konta, możesz pobrać adres URL z pola identyfikatora URI w bloku Klucze witryny Azure Portal. Opcjonalnie możesz podać nazwę bazy danych, nazwę kolekcji lub użyć nawigatora, aby wybrać bazę danych i kolekcję, aby określić, skąd pochodzą dane.

  7. Jeśli łączysz się z tym punktem końcowym po raz pierwszy, zostanie wyświetlony monit o podanie klucza konta. W przypadku własnego konta pobierz klucz z pola Klucz podstawowy w bloku Klucze tylko do odczytu w witrynie Azure Portal. Wprowadź odpowiedni klucz, a następnie kliknij przycisk Połącz.

    Zalecamy użycie klucza tylko do odczytu podczas tworzenia raportów. Zapobiega to niepotrzebnemu narażeniu klucza podstawowego na potencjalne zagrożenia bezpieczeństwa. Klucz tylko do odczytu jest dostępny w bloku Klucze w witrynie Azure Portal.

  8. Po pomyślnym połączeniu konta zostanie wyświetlone okienko Nawigator . Nawigator przedstawia listę baz danych w ramach konta.

  9. Kliknij i rozwiń bazę danych, z której pochodzą dane raportu. Teraz wybierz kolekcję zawierającą dane do pobrania.

    W okienku Podgląd zostanie wyświetlona lista elementów rekordu. Dokument jest reprezentowany jako typ rekordu w usłudze Power BI. Podobnie zagnieżdżony blok JSON wewnątrz dokumentu jest również rekordem. Aby wyświetlić dokumenty właściwości jako kolumny, kliknij szary przycisk z dwiema strzałkami w przeciwnych kierunkach, które symbolizują rozszerzenie rekordu. Znajduje się po prawej stronie nazwy kontenera w tym samym okienku podglądu.

  10. Widok raportów programu Power BI Desktop umożliwia rozpoczęcie tworzenia raportów w celu wizualizacji danych. Raporty można tworzyć, przeciągając i upuszczając pola na kanwę raportu .

  11. Istnieją dwa sposoby odświeżania danych: ad hoc i zaplanowane. Po prostu kliknij pozycję Odśwież teraz , aby odświeżyć dane. Zapoznaj się z dokumentacją usługi Power BI, aby uzyskać więcej informacji na temat opcji zaplanowanego odświeżania.

Znane problemy i ograniczenia

  • W przypadku partycjonowanych kontenerów usługi Cosmos DB zapytanie SQL z funkcją agregowaną jest przekazywane do usługi Cosmos DB, jeśli zapytanie zawiera również filtr (klauzulę WHERE) w kluczu partycji. Jeśli zapytanie agregacji nie zawiera filtru klucza partycji, agregacja jest wykonywana przez łącznik.

  • Łącznik nie przekazuje funkcji agregującej, jeśli jest wywoływana po zastosowaniu funkcji TOP lub LIMIT. Usługa Cosmos DB przetwarza operację TOP na końcu podczas przetwarzania zapytania. Na przykład w poniższym zapytaniu funkcja TOP jest stosowana w podzapytaniu, podczas gdy funkcja agregacji jest stosowana na podstawie tego zestawu wyników:

    WYBIERZ POZYCJĘ COUNT(1) FROM (WYBIERZ POZYCJĘ TOP 4 * FROM EMP) E

  • Jeśli funkcja distinct jest udostępniana w funkcji agregującej, łącznik nie przekazuje funkcji agregującej do usługi Cosmos DB, jeśli klauzula DISTINCT jest podana w funkcji agregującej. W przypadku obecności w funkcji agregującej funkcja DISTINCT nie jest obsługiwana przez interfejs API SQL usługi Cosmos DB.

  • W przypadku funkcji agregującej SUM usługa Cosmos DB zwraca wartość niezdefiniowaną jako zestaw wyników, jeśli którykolwiek z argumentów w funkcji SUM to ciąg, wartość logiczna lub wartość null. Jeśli jednak istnieją wartości null, łącznik przekazuje zapytanie do usługi Cosmos DB w taki sposób, aby prosiło źródło danych o zastąpienie wartości null wartością zero w ramach obliczenia SUM.

  • W przypadku funkcji agregującej AVG usługa Cosmos DB zwraca niezdefiniowane jako zestaw wyników, jeśli którykolwiek z argumentów w funkcji SUM to ciąg, wartość logiczna lub wartość null. Łącznik uwidacznia właściwość połączenia, aby wyłączyć przekazywanie funkcji agregującej AVG do usługi Cosmos DB w przypadku, gdy to domyślne zachowanie usługi Cosmos DB musi zostać zastąpione. Gdy przekazywanie AVG jest wyłączone, nie jest przekazywane do usługi Cosmos DB, a łącznik obsługuje wykonywanie samej operacji agregacji AVG. Aby uzyskać więcej informacji, przejdź do tematu "Włącz funkcję AVERAGE function Passdown" w obszarze Opcje zaawansowane.

  • Kontenery usługi Azure Cosmos DB z dużym kluczem partycji nie są obecnie obsługiwane w łączniku.

  • Przekazywanie agregacji jest wyłączone dla następującej składni z powodu ograniczeń serwera:

    • Jeśli zapytanie nie filtruje klucza partycji lub gdy filtr klucza partycji używa operatora OR z innym predykatem na najwyższym poziomie w klauzuli WHERE.

    • Jeśli zapytanie zawiera co najmniej jeden klucz partycji, znajduje się w klauzuli IS NOT NULL w klauzuli WHERE.

  • Łącznik w wersji 2 nie obsługuje złożonych typów danych, takich jak tablice, obiekty i struktury hierarchiczne. W przypadku tych scenariuszy zalecamy funkcję [Fabric Mirroring for Azure Cosmos DB](/articles/cosmos-db/analytics-and-business-intelligence-overview.md .

  • Łącznik w wersji 2 używa próbkowania pierwszych 1000 dokumentów, aby wymyślić wywnioskowany schemat. Nie jest zalecane w przypadku scenariuszy ewolucji schematu, gdy aktualizowana jest tylko część dokumentów. Na przykład nowo dodana właściwość do jednego dokumentu w kontenerze z tysiącami dokumentów może nie być uwzględniona w wnioskowanym schemacie. W tych scenariuszach zalecamy funkcję dublowania sieci szkieletowej dla usługi Azure Cosmos DB .

  • Obecnie łącznik w wersji 2 nie obsługuje wartości innych niż ciąg we właściwościach obiektu.

  • Przekazywanie filtru jest wyłączone dla następującej składni z powodu ograniczeń serwera:

  • Gdy zapytanie zawierające co najmniej jedną kolumnę agregowaną jest przywoływana w klauzuli WHERE.

Następne kroki

  • Aby dowiedzieć się więcej na temat usługi Power BI, zobacz Wprowadzenie do usługi Power BI.
  • Aby dowiedzieć się więcej na temat usługi Azure Cosmos DB, zobacz stronę docelową dokumentacji usługi Azure Cosmos DB.