Blog JSystems - uwalniamy wiedzę!

Szukaj

W skrócieW Power BI Desktop Power Query jest tym samym edytorem co w Excelu, a zapytania ze skoroszytu przeniesiesz jednym importem. Łączymy się z bazą SQL Server, wybieramy tryb Import albo DirectQuery, ustawiamy poświadczenia i poziomy prywatności, a na końcu budujemy model i pierwszy raport.

Ta lekcja jest częścią bezpłatnego kursu Power Query - czternastu lekcji od pierwszego zapytania w Excelu do przepływu danych w Microsoft Fabric i pracy z Copilotem. To lekcja 10 z 14.

Spis lekcji bezpłatnego kursu Power Query
Poprzednia lekcja: Lekcja 9: Błędy w zapytaniach i profilowanie danych
Następna lekcja: Lekcja 11: Query folding i odświeżanie przyrostowe w Power BI

Power Query w Power BI Desktop

W Power BI Desktop Power Query jest tym samym edytorem co w Excelu, otwieranym przyciskiem Przekształć dane na karcie Narzędzia główne. Różnią się szczegóły: zamiast Zamknij i załaduj jest Zamknij i zastosuj, wynik trafia do modelu semantycznego raportu, a edytor ma dodatkową kartę Narzędzia z diagnostyką zapytań. Power BI Desktop jest bezpłatny, pobierzesz go ze sklepu Microsoft Store albo ze strony Microsoftu.

Wstążka Narzędzia główne w Power BI Desktop z przyciskami Pobierz dane, Skoroszyt programu Excel, SQL Server, Wprowadź dane i Przekształć dane
Karta Narzędzia główne w Power BI Desktop: grupa Dane z najczęstszymi źródłami (1) i przycisk Przekształć dane (2), który otwiera edytor Power Query.

Przenieś zapytania z Excela do Power BI

Nie musisz budować zapytań od nowa. Power BI potrafi zaimportować całą zawartość skoroszytu Excela: zapytania Power Query, model danych Power Pivot z miarami i arkusze Power View.

1. W nowym raporcie kliknij Plik > Importuj i wybierz ostatnią pozycję Power Query, Power Pivot, Power View. Pozycja nie ma ikony i wygląda jak zwykły tekst, ale jest klikalna.

Menu Plik i Importuj w Power BI Desktop z pozycją Power Query, Power Pivot, Power View
Plik > Importuj: szablon usługi Power BI, wizualizacje z pliku i z AppSource oraz Power Query, Power Pivot, Power View, czyli import zawartości skoroszytu Excela.

2. Wskaż plik Nordvella_raport_sprzedazy.xlsx. Power BI wyjaśni, że utworzy nowy plik raportu z tak dużą częścią zawartości skoroszytu, jak to możliwe. Kliknij Uruchom.

Okno Importuj zawartość skoroszytu programu Excel w Power BI Desktop z przyciskiem Uruchom
Okno Importuj zawartość skoroszytu programu Excel. Import nie przenosi wyglądu arkuszy ani formuł z komórek, tylko zapytania, model danych i miary.

3. Po kilku sekundach zobaczysz podsumowanie Migracja zakończona z listą przeniesionych elementów. U nas wszystkie 16 zapytań, łącznie z parametrem i funkcją fxKursNBP, przeszło bez ostrzeżeń.

Podsumowanie importu skoroszytu Excela w Power BI Desktop: Migracja zakończona, Zapytania (Elementy: 16)
Migracja zakończona i lista przeniesionych zapytań, Zapytania (Elementy: 16), każde z zielonym znacznikiem.

Nad raportem pojawi się pasek Zapytania mają oczekujące zmiany, które nie zostały zastosowane. To normalne: zapytania są już w pliku, ale jeszcze nie załadowały danych do modelu. Przycisk Zastosuj zmiany na tym pasku je załaduje.

4. Kliknij Przekształć dane. Edytor Power Query w Power BI pokazuje te same zapytania, grupy i kroki, które zbudowaliśmy w Excelu.

Edytor Power Query w Power BI Desktop z zaimportowanymi z Excela zapytaniami Nordvella, profilowaniem kolumn i zastosowanymi krokami
Edytor Power Query w Power BI z zapytaniem Sprzedaz_wg_sklepu_i_miesiaca. Ten sam kod, te same kroki, tylko inne okno. Karta, która w Excelu nazywa się Strona główna, tu nosi nazwę Narzędzia główne, a obok niej jest dodatkowa karta Narzędzia.

5. O poświadczenia zapytał tylko jeden zasób: API NBP. Poświadczenia nie przenoszą się razem z zapytaniami, bo Power BI przechowuje je osobno, dla każdego źródła. Folder i pliki Excela na tym samym komputerze zadziałały od razu. Dla api.nbp.pl wybierz ponownie Anonimowy.

Okno Dostęp do zawartości sieci Web w Power BI Desktop dla API NBP z wybranym dostępem anonimowym
Pasek Określ sposób nawiązywania połączenia i przycisk Edytuj poświadczenia przy zapytaniu Kursy_NBP prowadzą do tego samego okna co w Excelu.

Włącz ładowanie i uwzględnij w odświeżeniu raportu

W Power BI odpowiednikiem excelowego „tylko połączenia" jest odznaczone pole Włącz ładowanie w menu kontekstowym zapytania. Zapytania, które nie ładują się do modelu, mają w panelu zapytań nazwy zapisane kursywą. Do modelu ładuj tylko tabele, z których budujesz raport. Każde dodatkowe zapytanie powiększa plik i wydłuża odświeżanie.

Menu kontekstowe zapytania w edytorze Power Query w Power BI z opcjami Włącz ładowanie i Uwzględnij w odświeżeniu raportu
Menu kontekstowe zapytania Kursy_NBP. Włącz ładowanie nie ma znacznika, dlatego pole Uwzględnij w odświeżeniu raportu jest nieaktywne.

Pole Uwzględnij w odświeżeniu raportu przydaje się przy tabelach, które ładujesz do modelu, ale nie chcesz pobierać przy każdym odświeżeniu, na przykład przy rzadko zmienianym słowniku albo historycznym archiwum.

Źródło SQL Server: import czy DirectQuery

Pliki to tylko część źródeł. W firmach sprzedaż zwykle leży w bazie danych. Nordvella ma tę samą sprzedaż w bazie SQL Server, z której skorzystamy, żeby pokazać zjawisko niedostępne dla plików: składanie zapytań.

Baza do ćwiczeń

Kopia zapasowa bazy Nordvella dla SQL Server (9 tabel, ponad 108 tysięcy wierszy sprzedaży z lat 2022-2026) do odtworzenia na własnym serwerze, na przykład w bezpłatnej edycji SQL Server Developer albo Express:

Pobierz kopię bazy Nordvella (SQL Server, .bak.gz) -->

Plik rozpakuj programem obsługującym format gzip (na przykład 7-Zip) i odtwórz w SQL Server Management Studio poleceniem Restore Database.

1. Na karcie Narzędzia główne rozwiń Pobierz dane i wybierz SQL Server.

Menu Pobierz dane w Power BI Desktop z typowymi źródłami: Skoroszyt programu Excel, przepływy danych, Dataverse, SQL Server, plik tekstowy lub CSV, Internet
Typowe źródła danych w menu Pobierz dane. Pozycja Więcej... otwiera pełną listę łączników z wyszukiwarką.

2. Wpisz nazwę lub adres serwera i nazwę bazy. Najważniejsza decyzja w tym oknie to Tryb łączności danych:

  • Importuj kopiuje dane do modelu Power BI. Raport działa szybko, wszystkie przekształcenia Power Query są dostępne, a dane są aktualne na chwilę ostatniego odświeżenia.
  • DirectQuery nie kopiuje danych, tylko przy każdym kliknięciu w raport wysyła zapytanie do bazy. Dane są zawsze aktualne, ale raport jest wolniejszy, a w Power Query możesz użyć tylko kroków, które da się przetłumaczyć na SQL.
Okno Baza danych programu SQL Server w Power BI Desktop: serwer, baza Nordvella, tryb łączności Importuj lub DirectQuery i opcje zaawansowane
Okno łącznika SQL Server z rozwiniętymi Opcjami zaawansowanymi: limit czasu polecenia, pole na własną Instrukcję języka SQL, Dołącz kolumny relacji i Nawiguj, używając pełnej hierarchii.
Własna instrukcja SQL wyłącza składanie zapytań. Jeśli w polu Instrukcja języka SQL wpiszesz zapytanie, Power Query potraktuje jego wynik jak gotową tabelę i kolejne kroki wykona już sam, na Twoim komputerze. Lepiej wybrać w nawigatorze tabelę albo widok i resztę zrobić krokami Power Query. Jeśli musisz użyć własnego SQL, zrób to funkcją Value.NativeQuery z opcją [EnableFolding = true], która pozwala dalszym krokom nadal składać się do bazy.

3. W oknie poświadczeń wybierz kartę zgodną ze sposobem logowania do serwera: Windows (konto domenowe), Baza_danych (login i hasło SQL Server) albo Konto Microsoft (Azure SQL z kontem Microsoft Entra). My logujemy się kontem SQL.

Okno poświadczeń bazy danych SQL Server w Power BI Desktop z kartami Windows, Baza_danych i Konto Microsoft oraz loginem kurs
Karta Baza_danych (dokładnie tak, z podkreślnikiem, nazywa się w polskim interfejsie). Poświadczenia zapisują się dla poziomu wybranego na dole: całego serwera albo jednej bazy.

Jeśli serwer nie ma certyfikatu do szyfrowanego połączenia, Power BI zapyta, czy połączyć się bez szyfrowania. W sieci firmowej i na serwerze testowym to zwykle akceptowalne, ale przy serwerze dostępnym z internetu poproś administratora o certyfikat.

Okno Obsługa szyfrowania w Power BI Desktop: nie można nawiązać połączenia ze źródłem danych przy użyciu szyfrowanego połączenia
Okno Obsługa szyfrowania. Kliknięcie OK łączy bez szyfrowania. Ustawienie zapamiętuje się w Ustawieniach źródła danych.

4. W Nawigatorze zaznacz tabele FaktSprzedaz i DimProdukty. Przycisk Wybierz powiązane tabele sam zaznaczy tabele połączone kluczami obcymi. Kliknij Przekształć dane.

Nawigator w Power BI Desktop z tabelami bazy Nordvella na SQL Server i podglądem tabeli FaktSprzedaz
Nawigator z dziewięcioma tabelami bazy Nordvella i podglądem FaktSprzedaz. Kolumna DataID to liczba w postaci rok, miesiąc, dzień, na przykład 20260115.

Ustawienia źródła danych i poziomy prywatności w Power BI

Wszystkie źródła, z których korzysta plik, zobaczysz w jednym oknie. W edytorze Power Query kliknij Ustawienia źródła danych na karcie Narzędzia główne, a w oknie raportu rozwiń Przekształć dane i wybierz tę samą pozycję. Okno ma dwa widoki: Źródła danych w bieżącym pliku oraz Uprawnienia globalne, czyli wszystkie źródła, do których logowałeś się w Power BI Desktop na tym komputerze.

Okno Ustawienia źródła danych w Power BI Desktop z listą źródeł pliku: baza SQL Server, skoroszyty Excela, folder z plikami CSV i API NBP
Pięć źródeł naszego pliku: baza SQL Server, dwa skoroszyty, folder z miesięcznymi plikami CSV i API NBP (1). Przycisk Zmień źródło... podmienia ścieżkę albo serwer bez edytowania kodu M, a Edytuj uprawnienia... (2) otwiera poświadczenia i poziom prywatności zaznaczonego źródła.

To okno warto znać z dwóch powodów. Po pierwsze, gdy przenosisz raport na inny komputer albo zmienia się serwer, Zmień źródło... poprawia adres we wszystkich zapytaniach naraz. Po drugie, poświadczenia nie są zapisywane w pliku .pbix, tylko na komputerze, więc osoba, której przekażesz plik, poda własne dane logowania przy pierwszym odświeżeniu.

Przycisk Edytuj uprawnienia... pokazuje zapisane poświadczenia (dla naszej bazy typ Baza_danych), ustawienie szyfrowania i Poziom prywatności źródła. Przy bazach danych dochodzi sekcja Natywne zapytania bazy danych: jeśli w Opcjach, w części Zabezpieczenia, jest włączone zatwierdzanie natywnych zapytań, Power BI poprosi o zgodę przed pierwszym uruchomieniem własnego zapytania SQL, a tutaj możesz udzielone zgody wycofać.

Okno Edytuj uprawnienia dla źródła SQL Server w Power BI Desktop: poświadczenia typu Baza_danych, szyfrowanie, poziom prywatności i natywne zapytania bazy danych
Uprawnienia źródła SQL Server: lista Poziom prywatności (1) i sekcja Natywne zapytania bazy danych (2). Zgoda dotyczy tylko zapytań SQL wpisanych przez Ciebie. Zapytania, które Power Query generuje sam przy składaniu kroków, nie wymagają zatwierdzania.

Poziomy prywatności działają tak samo jak w Excelu, co opisaliśmy przy błędzie Formula.Firewall. Lista w Power BI ma cztery pozycje: Brak, Publiczne, Organizacyjne i Prywatne. Źródłu z danymi firmy, takiemu jak baza sprzedaży czy pliki z dysku sieciowego, nadaj poziom Organizacyjne, a danym ogólnodostępnym, takim jak tabele kursów NBP, poziom Publiczne. Power Query nie prześle wtedy danych firmowych do źródła publicznego, na przykład w adresie zapytania do API.

Rozwinięta lista poziomów prywatności w Power BI Desktop: Brak, Publiczne, Organizacyjne, Prywatne dla źródła API NBP
Lista poziomów prywatności dla źródła api.nbp.pl, którego poświadczenia to Anonimowy.

Sposób traktowania poziomów prywatności ustawiasz w Plik > Opcje i ustawienia > Opcje, w grupie Bieżący plik, pozycja Prywatność. Domyślna opcja łączy dane zgodnie z poziomem ustawionym dla każdego źródła. Druga, Ignorowanie poziomów prywatności i potencjalne poprawianie wydajności, przyspiesza zapytania łączące wiele źródeł, ale wybieraj ją tylko wtedy, gdy wszystkie źródła są Twoje i żadne dane nie powinny być chronione przed przesłaniem do innego źródła.

Okno Opcje w Power BI Desktop: Bieżący plik, Prywatność, poziomy prywatności łączenie danych zgodnie z ustawieniami albo ignorowanie poziomów prywatności
Opcje pliku: pozycja Prywatność w grupie Bieżący plik (1) i dwie opcje łączenia danych (2). Pozycja Prywatność w grupie Globalne może tę decyzję narzucić wszystkim plikom albo zostawić ją ustawieniom każdego pliku.

Zamknij i zastosuj: model i pierwszy raport

Gdy zapytania są gotowe, kliknij Zamknij i zastosuj na karcie Narzędzia główne edytora. Power BI wykona zapytania z włączonym ładowaniem i zapisze ich wyniki w modelu. W widoku modelu (trzecia ikona na lewym pasku) zobaczysz wtedy tylko te tabele, które mają włączone ładowanie. U nas są trzy: Sprzedaz_wg_sklepu_i_miesiaca z zapytań przeniesionych z Excela oraz DimProdukty i FaktSprzedaz z SQL Server. FaktSprzedaz jest już pogrupowana po sklepach, a kroki, które ją zbudowały, pokazujemy w następnej lekcji, o składaniu zapytań.

Widok modelu w Power BI Desktop z trzema tabelami załadowanymi przez Power Query: DimProdukty, FaktSprzedaz i Sprzedaz_wg_sklepu_i_miesiaca
Widok modelu: DimProdukty (1), FaktSprzedaz (2) i Sprzedaz_wg_sklepu_i_miesiaca (3). Tabele nie mają jeszcze relacji. Zapytania pomocnicze, takie jak Kursy_NBP czy tBudzet, nie trafiły do modelu, bo mają wyłączone ładowanie.

Relacje między tabelami i miary w języku DAX to już praca na modelu, a nie w Power Query, więc zostawiamy je na osobny materiał. Tutaj zbudujemy jeden wykres, żeby zobaczyć wynik zapytań w raporcie.

1. Przejdź do widoku raportu i w panelu Wizualizacje wybierz Wykres słupkowy grupowany. 2. Z panelu Dane przeciągnij Sklep do pola Oś Y, a Realizacja budżetu do pola Oś X. 3. Power BI domyślnie sumuje pola liczbowe, a suma procentów realizacji z pięciu miesięcy nie ma sensu. Kliknij strzałkę przy polu w Oś X i wybierz Średnia.

Menu agregacji pola w panelu Wizualizacje w Power BI Desktop: zmiana z Suma na Średnia dla kolumny Realizacja budżetu
Pole Suma elementów Realizacja budżetu w osi X (1) i zmiana agregacji na Średnia (2). To samo menu ma minimum, maksimum, medianę i liczbę wartości.

4. Wykres słupkowy jest domyślnie posortowany malejąco według wartości, więc najlepsze sklepy są na górze. Format procentowy kolumny ustawisz na karcie Narzędzia kolumn, a etykiety danych włączysz w formatowaniu wykresu. Zapisz plik, na przykład jako Nordvella_power_query.pbix.

Wykres słupkowy w Power BI Desktop: średnia realizacja budżetu sprzedaży według sklepu Nordvella, od Szczecina 108,47 procent do Łodzi 80,62 procent
Średnia miesięcznej realizacji budżetu w każdym sklepie: od 108,47% w Szczecinie do 80,62% w Łodzi.
Średnia procentów to uproszczenie. Średnia z miesięcznych wskaźników traktuje każdy miesiąc jednakowo, niezależnie od wielkości sprzedaży. Dokładną realizację za okres liczy się jako sumę sprzedaży podzieloną przez sumę budżetu, i to jest zadanie dla miary DAX, na przykład DIVIDE(SUM(Sprzedaz_wg_sklepu_i_miesiaca[Sprzedaż netto]), SUM(Sprzedaz_wg_sklepu_i_miesiaca[Budżet])). Power Query przygotowuje kolumny Sprzedaż netto i Budżet, a model liczy z nich wskaźnik na każdym poziomie raportu. To ten sam podział ról, który opisujemy w lekcji o porównaniu Power Query z DAX.
Masz konkretny problem z Power Query? Zajrzyj do listy 88 najczęstszych pytań i problemów związanych z Power Query: komunikaty błędów, typy danych, scalanie i odświeżanie, każdy z rozwiązaniem krok po kroku.
Baner szkolenia Kompleksowe szkolenie Power BI - Desktop, DAX i Online + Copilot w JSystems

Szkolenie Power BI - Desktop, DAX i Online --> Pięć dni od pierwszego raportu do publikacji w usłudze Power BI: Power Query, model danych z wielu tabel, DAX, wizualizacje i Copilot. To szkolenie ma terminy gwarantowane.

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

✕Powiększony zrzut ekranu z kursu Power Query

Najczęściej zadawane pytania

Jak przenieść zapytania Power Query z Excela do Power BI?
W Power BI Desktop wybierz Plik, Importuj, Power Query, Power Pivot, Power View i wskaż skoroszyt. Power BI utworzy nowy plik z zapytaniami, modelem danych i miarami ze skoroszytu. Pojedyncze zapytania przeniesiesz też kopiując je w panelu zapytań i wklejając w drugim edytorze.
Czym różni się tryb Import od DirectQuery w Power BI?
Import kopiuje dane do modelu, więc raport działa szybko i można używać wszystkich przekształceń, a dane są aktualne na chwilę odświeżenia. DirectQuery przy każdej interakcji wysyła zapytanie do bazy, więc dane są zawsze aktualne, ale raport jest wolniejszy i dozwolone są tylko kroki tłumaczone na SQL.
Gdzie w Power BI zmienić poświadczenia i poziomy prywatności źródeł?
W edytorze Power Query kliknij Ustawienia źródła danych na karcie Narzędzia główne, zaznacz źródło i wybierz Edytuj uprawnienia. Zmienisz tam poświadczenia, szyfrowanie i poziom prywatności. Sposób traktowania poziomów ustawisz w Opcjach, w części Prywatność.
Dlaczego Power BI domyślnie sumuje procenty w wykresie?
Power BI agreguje każde pole liczbowe sumą, chyba że zmienisz agregację w menu pola na przykład na średnią. Dokładny wskaźnik za okres, taki jak realizacja budżetu, lepiej jednak liczyć miarą DAX jako sumę sprzedaży podzieloną przez sumę budżetu.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...