Pobieranie danych z relacyjnych źródeł danych

Ukończone

Jeśli twoja organizacja używa relacyjnej bazy danych na potrzeby sprzedaży, możesz użyć Power BI Desktop, aby połączyć się bezpośrednio z bazą danych, zamiast używać wyeksportowanych plików prostych.

Połączenie usługi Power BI z bazą danych ułatwi monitorowanie postępów firmy oraz identyfikowanie trendów, co z kolei umożliwi prognozowanie wyników sprzedaży, planowanie budżetów oraz ustawianie wskaźników wydajności i celów.   Program Power BI Desktop może łączyć się z wieloma relacyjnymi bazami danych znajdującymi się zarówno w chmurze, jak i w środowisku lokalnym.

Scenariusz

Zespół ds. sprzedaży w firmie Tailwind Traders zażądał połączenia z lokalną bazą danych SQL Server organizacji i pobrał dane sprzedaży do Power BI Desktop, aby móc tworzyć raporty sprzedaży.

Zrzut ekranu przedstawiający przepływ danych z bazy danych SQL do usługi Power BI.

Nawiązywanie połączenia z danymi w relacyjnej bazie danych

Możesz użyć funkcji Pobierz dane w Power BI Desktop i wybrać odpowiednią opcję dla relacyjnej bazy danych. W tym przykładzie należy wybrać opcję SQL Server, jak pokazano na poniższym zrzucie ekranu.

Porada

Obok przycisku Pobierz dane znajdują się opcje szybkiego dostępu do źródła danych, takie jak SQL Server.

Zrzut ekranu przedstawiający rozwinięte menu Pobierz dane w celu wyświetlenia SQL Server.

Następnym krokiem jest wprowadzenie nazwy serwera bazy danych i nazwy bazy danych w oknie Baza danych programu SQL Server.  Dwie opcje dostępne w trybie łączności danych to: Import (wybrane domyślnie, zalecane) i DirectQuery. W większości przypadków wybierasz pozycję Importuj. Inne opcje zaawansowane są również dostępne w oknie SQL Server bazy danych, ale na razie można je zignorować.

Zrzut ekranu przedstawiający szczegóły bazy danych SQL Server.

Po dodaniu nazw serwerów i baz danych zostanie wyświetlony monit o zalogowanie się przy użyciu nazwy użytkownika i hasła. Dostępne są trzy opcje logowania:

  • Windows — użyj konta systemu Windows (poświadczeń usługi Azure Active Directory).

  • Baza danych — użyj poświadczeń bazy danych.   Na przykład program SQL Server ma własny system logowania i uwierzytelniania, który jest czasami używany.   Jeśli administrator bazy danych przydzielił Ci unikatowe dane logowania do bazy danych, może być konieczne wprowadzenie tych poświadczeń na karcie Baza danych.

  • Konto Microsoft — użyj poświadczeń konta Microsoft.  Ta opcja jest często używana w przypadku usług platformy Azure.

Wybierz opcję logowania, wprowadź nazwę użytkownika i hasło, a następnie wybierz pozycję Połącz.

Zrzut ekranu przedstawiający szczegóły autoryzacji bazy danych.

Wybieranie danych do zaimportowania

Po nawiązaniu połączenia z bazą danych Power BI Desktop w oknie Nawigator zostaną wyświetlone dane dostępne w źródle danych (baza danych SQL w tym przykładzie). Możesz wybrać tabelę lub jednostkę, aby wyświetlić podgląd jej zawartości i upewnić się, że do modelu usługi Power BI zostaną załadowane prawidłowe dane.

Zaznacz pola wyboru tabel, które chcesz przenieść do Power BI Desktop, a następnie wybierz opcję Załaduj lub Przekształć dane.

  • Ładowanie — automatycznie załaduj dane do modelu usługi Power BI w bieżącym stanie.

  • Przekształć dane — otwórz dane w usłudze Microsoft Power Query, gdzie można wykonywać akcje, takie jak usuwanie niepotrzebnych wierszy lub kolumn, grupowanie danych, usuwanie błędów i wiele innych zadań dotyczących jakości danych.

    Zrzut ekranu przedstawiający okno Nawigator z dostępnymi tabelami.

Importowanie danych przez napisanie zapytania SQL

Innym sposobem na zaimportowanie danych jest napisanie zapytania SQL, aby określić tylko potrzebne tabele i kolumny.

Aby napisać zapytanie SQL, w oknie bazy danych SQL Server wprowadź nazwy serwera i bazy danych, a następnie wybierz strzałkę obok pozycji Opcje zaawansowane, aby rozwinąć tę sekcję i wyświetlić opcje. W polu Instrukcja SQL napisz instrukcję zapytania, a następnie wybierz przycisk OK. W tym przykładzie użyjesz instrukcji Select SQL, aby załadować kolumny ID, NAME i SALESAMOUNT z tabeli SALES.

Zrzut ekranu przedstawiający okno dialogowe bazy danych SQL Server z zapytaniem SQL.

Zmienianie ustawień źródła danych

Po utworzeniu połączenia ze źródłem danych i załadowaniu danych do programu Power BI Desktop możesz w dowolnym momencie wrócić i zmienić ustawienia połączenia.  Ta akcja jest często wymagana ze względu na zasady zabezpieczeń w organizacji, na przykład gdy należy aktualizować hasło co 90 dni.  Możesz zmienić źródło danych, edytować uprawnienia lub wyczyścić uprawnienia.

Na karcie Narzędzia główne wybierz pozycję Przekształć dane, a następnie wybierz opcję Ustawienia źródła danych .

Zrzut ekranu przedstawiający menu Przekształć dane rozwinięte z wyróżnionymi ustawieniami źródła danych.

Z wyświetlonej listy źródeł danych wybierz źródło danych, które chcesz zaktualizować.  Następnie możesz kliknąć prawym przyciskiem myszy to źródło danych, aby wyświetlić dostępne opcje aktualizacji, lub użyć przycisków opcji aktualizacji znajdujących się w lewym dolnym rogu okna.  Wybierz żądaną opcję aktualizacji, zmień ustawienia zgodnie z potrzebami, a następnie zastosuj zmiany.

Zrzut ekranu przedstawiający opcje ustawień źródła danych.

Możesz również zmienić ustawienia źródła danych z poziomu dodatku Power Query. Wybierz tabelę, a następnie wybierz opcję Ustawienia źródła danych na wstążce Narzędzia główne . Alternatywnie możesz przejść do panelu Ustawienia zapytania po prawej stronie ekranu i wybrać ikonę ustawień obok pozycji Źródło (lub dwukrotnie Wybierz źródło). W wyświetlonym oknie zaktualizuj szczegóły serwera i bazy danych, a następnie wybierz przycisk OK.

Zrzut ekranu przedstawiający przycisk Ustawienia źródła danych.

Po wprowadzeniu zmian wybierz pozycję Zamknij i zastosuj , aby zastosować te zmiany do ustawień źródła danych.

Pisanie instrukcji SQL

Jak wspomniano wcześniej, możesz zaimportować dane do modelu usługi Power BI przy użyciu zapytania SQL.  SQL to skrót od Structured Query Language. Jest to ustandaryzowany język programowania używany do zarządzania relacyjnymi bazami danych oraz wykonywania różnych operacji dotyczących zarządzania danymi.

Rozważ scenariusz, w którym baza danych zawiera dużą tabelę składającą się z danych sprzedaży z kilku lat. Dane sprzedaży z 2009 r. nie są istotne dla tworzonego raportu.  To właśnie w takiej sytuacji przydaje się język SQL, ponieważ umożliwia załadowanie tylko potrzebnego zestawu danych przez dokładne określenie kolumn i wierszy w instrukcji SQL, a następnie zaimportowanie ich do modelu danych.  W zapytaniu SQL możesz również sprzęgać różne tabele, uruchamiać określone obliczenia, tworzyć instrukcje logiczne i filtrować dane.

W poniższym przykładzie pokazano proste zapytanie, w którym wybrano kolumny ID, NAME i SALESAMOUNT z tabeli SALES.

Zapytanie SQL rozpoczyna się od instrukcji Select , która umożliwia wybranie określonych pól, które chcesz ściągnąć z bazy danych.  W tym przykładzie chcesz załadować kolumny ID, NAME i SALESAMOUNT.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

Klauzula FROM określa nazwę tabeli, z której mają zostać pobrane dane. W tym przypadku jest to tabela SALES. Poniższy przykład to pełne zapytanie SQL:

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

Korzystając z zapytania SQL do importowania danych, spróbuj unikać używania symbolu wieloznakowego (*) w zapytaniu. Jeśli używasz symbolu wieloznakowego (*) w instrukcji SELECT, zaimportujesz wszystkie kolumny, których nie potrzebujesz z określonej tabeli.

Poniższy przykład pokazuje zapytanie z użyciem symbolu wieloznacznego.

SELECT *
FROM
SALES

Symbol wieloznaczny (*) spowoduje zaimportowanie wszystkich kolumn w tabeli Sales . Ta metoda nie jest zalecana, ponieważ doprowadzi do nadmiarowych danych w modelu danych, co spowoduje problemy z wydajnością i wymaga dodatkowych kroków w celu normalizacji danych na potrzeby raportowania.

Wszystkie zapytania powinny również mieć klauzulę WHERE. Ta klauzula spowoduje przefiltrowanie wierszy w celu wybrania tylko przefiltrowanych rekordów, które mają być używane. W tym przykładzie, jeśli chcesz uzyskać najnowsze dane sprzedaży po 1 stycznia 2020 r., dodaj klauzulę WHERE . Rozwinięte zapytanie będzie wyglądać podobnie do poniższego przykładu.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

Najlepszym rozwiązaniem jest unikanie tego bezpośrednio w usłudze Power BI. Zamiast tego rozważ napisanie zapytania w następujący sposób w widoku. Widok to obiekt w relacyjnej bazie danych podobny do tabeli. Widoki zawierają wiersze i kolumny oraz mogą zawierać niemal każdy operator w języku SQL. Jeśli w usłudze Power BI używany jest widok, podczas pobierania danych usługa Power BI bierze udział w składaniu zapytań, funkcji dodatku Power Query. Składanie zapytań zostanie wyjaśnione później, ale mówiąc krótko, dodatek Power Query optymalizuje pobieranie danych zgodnie z tym, jak będą one używane później.