Używanie trybu DirectQuery w programie Power BI Desktop

Po nawiązaniu połączenia z dowolnym źródłem danych za pomocą programu Power BI Desktop możesz zaimportować kopię danych. W przypadku niektórych źródeł danych można również połączyć się bezpośrednio ze źródłem danych bez importowania danych przy użyciu trybu DirectQuery.

Aby określić, czy źródło danych obsługuje zapytanie bezpośrednie, wyświetl pełną listę dostępnych źródeł danych znajdujących się w artykule Połączenie or w dodatku Power Query, który ma również zastosowanie do usługi Power BI, wybierz artykuł opisujący źródło danych, które cię interesuje z listy obsługiwanych łączników, a następnie zobacz sekcję w artykule o obsługiwanych funkcjach tego łącznika. Jeśli zapytanie bezpośrednie nie znajduje się na liście w tej sekcji artykułu źródła danych, zapytanie bezpośrednie nie jest obsługiwane dla tego łącznika danych.

Poniżej przedstawiono różnice między używaniem trybów importu i trybu directQuery:

  • Importuj: kopia danych z wybranych tabel i kolumn importuje do programu Power BI Desktop. Podczas tworzenia wizualizacji lub interakcji z nimi program Power BI Desktop używa zaimportowanych danych. Aby zobaczyć zmiany danych bazowych po początkowym zaimportowaniu lub najnowszym odświeżeniu, należy ponownie zaimportować pełny model semantyczny, aby odświeżyć dane.

  • Zapytanie bezpośrednie: brak importu danych do programu Power BI Desktop. W przypadku źródeł relacyjnych można wybrać tabele i kolumny, które mają być wyświetlane na liście Pola programu Power BI Desktop. W przypadku źródeł wielowymiarowych, takich jak SAP Business Warehouse (SAP BW), wymiary i miary wybranego modułu są wyświetlane na liście Pola . Podczas tworzenia wizualizacji lub interakcji z nimi program Power BI Desktop wysyła zapytanie do bazowego źródła danych, więc zawsze wyświetla bieżące dane.

W przypadku zapytania bezpośredniego podczas tworzenia wizualizacji lub interakcji z nią należy wykonać zapytanie względem bazowego źródła. Czas potrzebny do odświeżenia wizualizacji zależy od wydajności bazowego źródła danych. Jeśli ostatnio zażądano danych potrzebnych do obsługi żądania, program Power BI Desktop używa ostatnich danych, aby skrócić czas wymagany do wyświetlenia wizualizacji. Wybranie pozycji Odśwież na wstążce Narzędzia główne odświeża wszystkie wizualizacje z bieżącymi danymi.

Wiele modeli danych i przekształceń danych jest dostępnych w przypadku korzystania z trybu DirectQuery, chociaż z pewnymi ograniczeniami opartymi na wydajności. Aby uzyskać więcej informacji na temat korzyści, ograniczeń i zaleceń trybu DirectQuery, zobacz Zapytanie bezpośrednie w usłudze Power BI.

Korzyści z trybu DirectQuery

Oto niektóre zalety korzystania z trybu DirectQuery:

  • Tryb DirectQuery umożliwia tworzenie wizualizacji na bardzo dużych modelach semantycznych, w których nie można było zaimportować wszystkich danych ze wstępnie agregacją.

  • Raporty trybu DirectQuery zawsze używają bieżących danych. Wyświetlanie podstawowych zmian danych wymaga odświeżenia danych i ponownego importowania dużych modeli semantycznych w celu odświeżenia danych może być niewykonalne.

  • Ograniczenie modelu semantycznego o rozmiarze 1 GB nie ma zastosowania w trybie DirectQuery.

Połączenie przy użyciu zapytania bezpośredniego

Aby nawiązać połączenie ze źródłem danych za pomocą zapytania bezpośredniego:

  1. W grupie Narzędzia główne na wstążce programu Power BI Desktop wybierz pozycję Pobierz dane, a następnie wybierz źródło danych obsługiwane przez zapytanie bezpośrednie, na przykład program SQL Server.

  2. W oknie dialogowym połączenia w obszarze Tryb łączności danych wybierz pozycję Zapytanie bezpośrednie.

Opcje importu i trybu DirectQuery, okno dialogowe bazy danych programu SQL Server, program Power BI Desktop

Publikowanie w usłudze Power BI

Raporty trybu DirectQuery można publikować w usługa Power BI, ale należy wykonać dodatkowe kroki, aby usługa Power BI otworzyć raporty.

  • Aby połączyć usługa Power BI ze źródłami danych DirectQuery innymi niż usługa Azure SQL Database, Azure Synapse Analytics (dawniej SQL Data Warehouse), Amazon Redshift i Snowflake Data Warehouse, zainstaluj lokalną bramę danych i zarejestruj źródło danych.

  • Jeśli używasz trybu DirectQuery ze źródłami chmury, takimi jak Azure SQL Database, Azure Synapse, Amazon Redshift lub Snowflake Data Warehouse, nie potrzebujesz lokalnej bramy danych. Nadal musisz podać poświadczenia dla usługa Power BI, aby otworzyć opublikowany raport. Bez poświadczeń występuje błąd podczas próby otwarcia opublikowanego raportu lub eksplorowania modelu semantycznego utworzonego za pomocą połączenia DirectQuery.

Aby podać poświadczenia do otwierania raportu i odświeżania danych:

  1. W usługa Power BI wybierz ikonę koła zębatego w prawym górnym rogu i wybierz pozycję Ustawienia.

    Zrzut ekranu przedstawiający menu rozwijane usługa Power BI Ustawienia.

  2. Na stronie Ustawienia wybierz kartę Modele semantyczne i wybierz model semantyczny korzystający z trybu DirectQuery.

  3. W obszarze Połączenie ze źródłem danych podaj poświadczenia, aby nawiązać połączenie ze źródłem danych.

Uwaga

Jeśli użyto trybu DirectQuery z usługą Azure SQL Database, która ma prywatny adres IP, musisz użyć bramy lokalnej.

Rozważania i ograniczenia

Niektóre funkcje programu Power BI Desktop nie są obsługiwane w trybie DirectQuery lub mają ograniczenia. Niektóre funkcje w usługa Power BI, takie jak szybki wgląd w szczegółowe informacje, również nie są dostępne dla modeli semantycznych korzystających z trybu DirectQuery. Jeśli zdecydujesz, czy używać trybu DirectQuery, rozważ te ograniczenia funkcji. Należy również wziąć pod uwagę następujące czynniki:

Zagadnienia dotyczące wydajności i obciążenia

Zapytanie bezpośrednie wysyła wszystkie żądania do źródłowej bazy danych, więc wymagany czas odświeżania wizualizacji zależy od tego, jak długo bazowe źródło zwróci wyniki. Pięć sekund lub mniej to zalecany czas odpowiedzi na odbieranie żądanych danych dla wizualizacji. Czasy odświeżania ponad 30 sekund powodują niedopuszczalne złe środowisko dla użytkowników korzystających z raportu. Zapytanie, które trwa dłużej niż cztery minuty w usługa Power BI, a użytkownik otrzymuje błąd.

Obciążenie źródłowej bazy danych zależy również od liczby użytkowników usługi Power BI korzystających z opublikowanego raportu, zwłaszcza jeśli raport korzysta z zabezpieczeń na poziomie wiersza. Odświeżanie kafelka pulpitu nawigacyjnego bez zabezpieczeń na poziomie wiersza współużytkowanego przez wielu użytkowników wysyła jedno zapytanie do bazy danych, ale odświeżanie kafelka pulpitu nawigacyjnego korzystającego z zabezpieczeń na poziomie wiersza wymaga jednego zapytania na użytkownika. Zwiększone zapytania znacznie zwiększają obciążenie i potencjalnie wpływają na wydajność.

Limit wierszy w milionach

Zapytanie bezpośrednie definiuje limit wierszy na milion dla danych zwracanych ze źródeł danych w chmurze, które są dowolnymi źródłami danych, które nie są lokalne. Źródła lokalne są ograniczone do zdefiniowanego ładunku około 4 MB na wiersz, w zależności od zastrzeżonego algorytmu kompresji lub 16 MB dla całej wizualizacji. Pojemności Premium mogą określać różne maksymalne limity wierszy, zgodnie z opisem w wpisie w blogu Dotyczącym nowych ustawień pojemności usługi Power BI Premium.

Usługa Power BI tworzy zapytania, które są tak wydajne, jak to możliwe, ale niektóre wygenerowane zapytania mogą pobierać zbyt wiele wierszy z bazowego źródła danych. Na przykład taka sytuacja może wystąpić z prostym wykresem zawierającym kolumnę o wysokiej kardynalności z opcją agregacji ustawioną na Nie sumuj. Wizualizacja musi zawierać tylko kolumny o kardynalności poniżej 1 miliona lub muszą stosować odpowiednie filtry.

Limit wierszy nie ma zastosowania do agregacji ani obliczeń używanych do wybierania zwracanego modelu semantycznego trybu DirectQuery tylko do zwracanych wierszy. Na przykład zapytanie uruchamiane w źródle danych może agregować 10 milionów wierszy. Jeśli dane zwrócone do usługi Power BI są mniejsze niż 1 milion wierszy, zapytanie może dokładnie zwrócić wyniki. Jeśli dane zawierają ponad 1 milion wierszy, usługa Power BI wyświetla błąd, z wyjątkiem pojemności Premium z różnymi limitami zestawu administratorów. Stan błędu: zestaw wyników zapytania do zewnętrznego źródła danych przekroczył maksymalny dozwolony rozmiar wierszy "1000000".

Zagadnienia dotyczące zabezpieczeń

Domyślnie wszyscy użytkownicy korzystający z opublikowanego raportu w usługa Power BI łączą się z bazowym źródłem danych przy użyciu poświadczeń wprowadzonych po publikacji. Taka sytuacja jest taka sama jak w przypadku zaimportowanych danych. Wszyscy użytkownicy widzą te same dane, niezależnie od reguł zabezpieczeń definiowanych przez bazowe źródło.

Jeśli potrzebujesz zabezpieczeń dla poszczególnych użytkowników zaimplementowanych ze źródłami trybu DirectQuery, użyj zabezpieczeń na poziomie wiersza lub skonfiguruj uwierzytelnianie ograniczone kerberos względem źródła. Protokół Kerberos nie jest dostępny dla wszystkich źródeł. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza w usłudze Power BI i Konfigurowanie logowania jednokrotnego opartego na protokole Kerberos z usługa Power BI do lokalnych źródeł danych.

Inne ograniczenia trybu DirectQuery

Niektóre inne ograniczenia dotyczące używania trybu DirectQuery obejmują:

  • Jeśli zapytanie Edytor Power Query jest nadmiernie złożone, wystąpi błąd. Aby rozwiązać ten problem, musisz usunąć problematyczny krok w Edytor Power Query lub przełączyć się do trybu importu. Źródła wielowymiarowe, takie jak SAP BW, nie mogą używać Edytor Power Query.

  • Automatyczna hierarchia daty/godziny jest niedostępna w trybie DirectQuery. Tryb DirectQuery nie obsługuje przechodzenia do szczegółów kolumn daty według roku, kwartału, miesiąca lub dnia.

  • W przypadku wizualizacji tabeli lub macierzy istnieje limit 125 kolumn dla wyników, które zwracają ponad 500 wierszy ze źródeł DirectQuery. Te wyniki wyświetlają pasek przewijania w tabeli lub macierzy, który umożliwia pobranie większej ilości danych. W takiej sytuacji maksymalna liczba kolumn w tabeli lub macierzy wynosi 125. Jeśli musisz uwzględnić więcej niż 125 kolumn w jednej tabeli lub macierzy, rozważ utworzenie miar używających MINwartości , , FIRSTMAXlub LAST, ponieważ nie są one liczone względem tej maksymalnej wartości.

  • Nie można zmienić trybu importu na tryb DirectQuery. Jeśli importujesz wszystkie niezbędne dane, możesz przełączyć się z trybu DirectQuery na tryb importu. Nie można przełączyć się z powrotem, głównie ze względu na zestaw funkcji, który tryb DirectQuery nie obsługuje. Modele Trybu DirectQuery dla źródeł wielowymiarowych, takich jak SAP BW, nie można przełączyć z trybu DirectQuery na tryb importu z powodu innego traktowania środków zewnętrznych.

  • Tabele obliczeniowe i kolumny obliczeniowe odwołujące się do tabeli DirectQuery ze źródła danych z uwierzytelnianiem logowania jednokrotnego (SSO) nie są obsługiwane w usługa Power BI.