Power Query vs DAX — co robić gdzie? Jasny podział ról

Poznaj różnice między Power Query a DAX i dowiedz się, kiedy używać którego narzędzia. Praktyczne wskazówki, scenariusze i dobre praktyki.
06 marca 2026
blog
Poziom: Podstawowy

Artykuł przeznaczony dla użytkowników Power BI i Excela na poziomie podstawowym, którzy chcą zrozumieć różnice między Power Query i DAX oraz nauczyć się dobierać właściwe narzędzie do zadania.

Z tego artykułu dowiesz się

  • Czym różnią się Power Query i DAX oraz na jakich etapach pracy z danymi są wykorzystywane?
  • Jakie są typowe zastosowania Power Query i DAX w praktyce oraz jakie przykłady obliczeń i transformacji można w nich wykonać?
  • Kiedy lepiej użyć Power Query, a kiedy DAX, aby poprawić wydajność raportów i uniknąć najczęstszych błędów?

Wprowadzenie do Power Query i DAX

Power Query i DAX to dwa kluczowe narzędzia używane w ekosystemie Microsoft Power BI oraz Excel. Choć oba wspierają analizę danych, pełnią różne role i działają na odmiennych etapach procesu przetwarzania informacji.

Power Query to narzędzie służące do pobierania, transformacji i przygotowania danych. Pracuje na etapie ETL (Extract, Transform, Load), czyli wstępnego przetwarzania danych zanim trafią one do modelu danych. Umożliwia łączenie różnych źródeł, filtrowanie, czyszczenie oraz przekształcanie danych w sposób wizualny, bez konieczności pisania kodu.

DAX (Data Analysis Expressions) to język formuł służący do obliczeń i analizy danych już załadowanych do modelu. Używa się go do tworzenia miar, kolumn obliczeniowych oraz bardziej zaawansowanych analiz opartych na kontekście danych, takich jak porównania między okresami czy agregacje zależne od filtrów.

W skrócie, Power Query przygotowuje dane do analizy, a DAX umożliwia ich dynamiczne modelowanie i analizowanie w czasie rzeczywistym. Zrozumienie, kiedy używać którego narzędzia, jest kluczem do efektywnej pracy z danymi i tworzenia wydajnych raportów.

Podstawowe różnice między Power Query a DAX

Power Query i DAX to dwa kluczowe narzędzia dostępne w Power BI, które pełnią różne funkcje w procesie modelowania danych. Zrozumienie ich podstawowych różnic jest niezbędne, aby skutecznie budować raporty oraz modele analityczne. Ten wpis powstał w odpowiedzi na zagadnienia, które regularnie pojawiają się na szkoleniach prowadzonych przez Cognity.

  • Etap przetwarzania danych: Power Query działa na etapie pobierania i transformacji danych (ETL – Extract, Transform, Load). Jest wykorzystywany głównie do przygotowania danych przed załadowaniem ich do modelu danych. DAX natomiast działa już na załadowanych danych – służy do analizy, obliczeń i tworzenia miar w modelu.
  • Język i cel: Power Query wykorzystuje język M, którego głównym celem jest transformacja danych – np. filtrowanie, łączenie tabel czy zmiana typów danych. DAX (Data Analysis Expressions) to język zapytań używany do tworzenia wyrażeń analitycznych, takich jak miary, kolumny obliczeniowe i tabele.
  • Zakres działania: Power Query pracuje poza modelem danych – zmiany dokonywane w Power Query wpływają na to, co trafia do modelu. DAX działa wewnątrz modelu danych, co pozwala na dynamiczną analizę danych w czasie rzeczywistym.
  • Wpływ na wydajność: Ponieważ Power Query przygotowuje dane przed ich załadowaniem, dobrze zoptymalizowane transformacje mogą poprawić wydajność całego raportu. DAX z kolei wykonuje obliczenia w trakcie interakcji użytkownika z raportem, co oznacza, że jego złożoność może mieć zauważalny wpływ na czas odświeżania i responsywność raportu.

Podsumowując, Power Query najlepiej sprawdza się przy wstępnym przygotowaniu danych, natomiast DAX służy do zaawansowanej analizy wewnątrz modelu. Oba narzędzia się uzupełniają, a ich właściwe użycie jest kluczowe dla efektywnej pracy z Power BI.

Zastosowania Power Query w praktyce

Power Query to narzędzie służące przede wszystkim do pobierania, transformacji i ładowania danych (ETL) w środowisku Power BI, Excel oraz innych usług Microsoft. Jego główną siłą jest możliwość przygotowania danych do analizy bez konieczności pisania kodu—wszystko za pomocą interfejsu graficznego opartego na krokach.

W praktyce Power Query znajduje zastosowanie wszędzie tam, gdzie dane pochodzą z różnych źródeł i wymagają oczyszczenia lub przekształcenia przed dalszą analizą. Przykłady typowych operacji:

  • Łączenie danych z wielu plików (np. miesięczne raporty sprzedaży w folderze)
  • Filtrowanie i usuwanie zbędnych wierszy lub kolumn
  • Łączenie (merge) lub dodawanie (append) tabel
  • Zmiana typów danych (np. tekst na datę)
  • Rozbijanie kolumn (np. „Imię Nazwisko” na dwie kolumny)
  • Usuwanie duplikatów
  • Agregowanie danych (np. suma sprzedaży per region)

Power Query działa na etapie przygotowania danych, zanim trafią one do modelu danych Power BI lub tabel Excelowych. Dzięki temu użytkownik ma większą kontrolę nad jakością danych i może uniknąć wielu błędów wynikających z niespójnych lub niekompletnych źródeł.

Przykład prostego kroku w języku M (języku używanym przez Power Query):

let
    Źródło = Excel.Workbook(File.Contents("C:\\Raporty\\sprzedaż.xlsx"), null, true),
    Tabela1_Sheet = Źródło{[Item="Tabela1", Kind="Sheet"]}[Data],
    ZmienioneNazwy = Table.RenameColumns(Tabela1_Sheet, {{"Kol1", "Produkt"}, {"Kol2", "Sprzedaż"}})
in
    ZmienioneNazwy

Tabela poniżej przedstawia kilka przykładowych zastosowań Power Query oraz ich praktyczne efekty:

Zastosowanie Opis Efekt końcowy
Import danych z folderu Automatyczne łączenie plików CSV z jednego katalogu Jedna ujednolicona tabela danych
Usuwanie błędów Filtrowanie wierszy zawierających wartości null Wiarygodniejsza analiza
Zmiana typu danych Dostosowanie kolumn do odpowiedniego formatu (np. liczby, data) Unikanie błędów w modelu danych
Przekształcenie danych tekstowych Rozdzielenie pełnego adresu na ulicę, miasto, kod pocztowy Lepsze filtrowanie i segmentacja danych

W skrócie, Power Query najlepiej sprawdza się jako narzędzie do przygotowania danych — kiedy trzeba je „posprzątać”, przekształcić lub zintegrować z wielu źródeł. Właściwe użycie Power Query pozwala zbudować solidny fundament dla dalszych analiz, które są potem prowadzone już przy użyciu DAX. Jeśli chcesz nauczyć się praktycznego wykorzystania zarówno języka M, jak i DAX, sprawdź nasz Kurs Język DAX i język M - wykorzystanie funkcji języka DAX i analiza danych przy użyciu języka M.

Zastosowania DAX w praktyce

DAX (Data Analysis Expressions) to język formuł stworzony z myślą o analizie danych w modelu tabelarycznym Power BI, Power Pivot w Excelu oraz Analysis Services. Jego głównym zadaniem jest umożliwienie dynamicznych obliczeń, które reagują na interakcje użytkownika w raporcie, takie jak filtrowanie, wybór dat czy segmentacja danych.

DAX jest nieoceniony wszędzie tam, gdzie potrzebne są:

  • Obliczenia kontekstowe – np. wyliczenia zależne od ustawionych filtrów, dat czy wyborów użytkownika w raporcie.
  • Agregacje i miary biznesowe – np. suma przychodów, średnia sprzedaż na klienta, udział procentowy kategorii w sprzedaży ogółem.
  • Tworzenie miar i kolumn obliczeniowych – np. nowe metryki, które nie istnieją w źródle danych, ale są potrzebne w analizie.
  • Analityka czasowa – np. porównania rok do roku, wskaźniki YTD, MTD, rolling average itp.
  • Tworzenie dynamicznych wskaźników i KPI – dostosowujących się do poziomu szczegółowości i filtrów w raporcie.

W praktyce DAX pozwala odpowiadać na pytania typu:

  • Jak zmienia się sprzedaż miesiąc do miesiąca?
  • Jaki procent całkowitej sprzedaży stanowi dany produkt?
  • Ile klientów dokonuje zakupu po raz kolejny w ciągu 90 dni?

Dla przykładu, poniższy kod DAX definiuje prostą miarę obliczającą sprzedaż ogółem:

Total Sales = SUM(Sales[Amount])

Podczas gdy Power Query przygotowuje dane do analizy (czyści, łączy, przekształca), DAX pozwala te dane elastycznie analizować i wizualizować w odpowiedzi na potrzeby użytkownika końcowego. Współpraca obu narzędzi zapewnia pełną kontrolę nad procesem analitycznym – od surowych danych po gotowe wskaźniki biznesowe. W czasie szkoleń Cognity ten temat bardzo często budzi ożywione dyskusje między uczestnikami.

Kiedy lepiej używać Power Query, a kiedy DAX

Decyzja o tym, czy użyć Power Query czy DAX, zależy przede wszystkim od etapu przetwarzania danych oraz celu analizy. Choć oba narzędzia są częścią środowiska Power BI i mogą się uzupełniać, pełnią różne role w procesie modelowania danych.

Power Query DAX
Wykorzystywany na etapie ładowania i przygotowania danych Stosowany w modelu danych po załadowaniu danych
ETL (Extract, Transform, Load) – pobieranie, czyszczenie, scalanie danych Tworzenie miar, kolumn obliczeniowych, tabel oraz logiki analitycznej
Operacje są statyczne – przetwarzane raz przy odświeżaniu danych Obliczenia są dynamiczne – zależne od kontekstu filtrowania i interakcji użytkownika
Lepiej radzi sobie z czyszczeniem danych i łączeniem wielu źródeł Idealny do agregacji, KPI i analizy trendów
Oparty na języku M Oparty na języku DAX (Data Analysis Expressions)

Kiedy wybrać Power Query:

  • Gdy trzeba usunąć duplikaty, przekształcić formaty dat, oczyścić dane
  • Gdy dane pochodzą z różnych źródeł i wymagają połączenia
  • Gdy chcesz odciążyć model danych i zredukować jego rozmiar poprzez wcześniejsze przekształcenia

Kiedy użyć DAX:

  • Gdy zależy Ci na analizie w czasie rzeczywistym z uwzględnieniem filtrów
  • Gdy potrzebujesz dynamicznych miar, takich jak SUMX(), CALCULATE() czy TIMEINTELLIGENCE
  • Gdy chcesz tworzyć kolumny obliczeniowe lub hierarchie zależne od innych danych w modelu

Krótko mówiąc: Power Query najlepiej wykorzystać do przygotowania i uporządkowania danych przed budową modelu, natomiast DAX służy do budowania logiki analitycznej i interakcji w raporcie. Jeśli chcesz pogłębić znajomość języka DAX, polecamy Kurs DAX - praca w języku DAX i użyteczne funkcje, wizualizacja danych w Power BI.

💡 Pro tip: Jeśli dana transformacja ma być wykonana raz przy odświeżeniu (czyszczenie, łączenie źródeł, redukcja danych) zrób ją w Power Query, a DAX zostaw na logikę analityczną zależną od filtrów w raporcie. Prosta zasada: „Power Query przygotowuje dane, DAX je interpretuje w kontekście”.

Przykłady scenariuszy biznesowych

Aby lepiej zrozumieć, kiedy wykorzystać Power Query, a kiedy DAX, warto przyjrzeć się konkretnym scenariuszom biznesowym. Poniżej przedstawiono typowe sytuacje, z jakimi spotykają się analitycy danych, oraz zalecane podejście narzędziowe.

Scenariusz Rekomendowane narzędzie Uzasadnienie
Łączenie danych z różnych źródeł (np. pliki Excel, SQL, CSV) Power Query Power Query został zaprojektowany do ekstrakcji, transformacji i ładowania danych (ETL), co pozwala na przygotowanie spójnego modelu danych przed analizą.
Obliczenie średniego czasu realizacji zamówienia w zależności od statusu DAX DAX umożliwia dynamiczne obliczenia w kontekście filtrowania i interakcji użytkownika, co jest kluczowe przy analizie agregatów i miar w modelu danych.
Usunięcie duplikatów lub przekształcenie formatu daty Power Query Transformacje danych przed załadowaniem do modelu są bardziej wydajne i czytelne w Power Query.
Obliczenie udziału procentowego sprzedaży danego regionu w odniesieniu do całkowitej sprzedaży DAX DAX umożliwia kontekstowe obliczenia, takie jak % z całości, przy zachowaniu interaktywności raportu.
Filtrowanie danych na etapie ładowania (np. tylko dane z ostatnich 12 miesięcy) Power Query Filtrowanie danych przed wczytaniem do modelu zmniejsza jego rozmiar i poprawia wydajność.
Tworzenie kolumn wynikających z relacji między danymi (np. kolumna z kategorią klienta na podstawie obrotów) DAX DAX pozwala tworzyć obliczeniowe kolumny i miary, które są zależne od danych już załadowanych do modelu.

Powyższe przykłady pokazują, że Power Query najlepiej sprawdza się przy wstępnej obróbce danych, natomiast DAX wykorzystujemy do tworzenia miar, kalkulacji i analiz w czasie rzeczywistym w ramach modelu danych.

💡 Pro tip: Gdy zadanie dotyczy pozyskania, połączenia lub odchudzenia danych (np. różne źródła, duplikaty, zakres 12 miesięcy) wybierz Power Query, a gdy potrzebujesz miar i KPI reagujących na filtry (np. % udziału, średni czas, segmentacja) użyj DAX. Przed napisaniem miary sprawdź, czy nie da się uprościć problemu przez wcześniejszą transformację w Power Query.

Najczęstsze błędy i dobre praktyki

Rozdzielenie ról pomiędzy Power Query a DAX to klucz do efektywnej pracy z danymi w Power BI. W praktyce jednak wielu użytkowników napotyka na typowe pułapki, które mogą prowadzić do nieefektywnego modelu danych lub błędnych wyników. Poniżej przedstawiamy najczęstsze błędy oraz dobre praktyki, które pomogą Ci uniknąć problemów i wykorzystać pełnię możliwości obu narzędzi.

Najczęstsze błędy

  • Próba robienia wszystkiego w DAX: Użytkownicy często próbują przygotowywać dane, usuwać duplikaty czy przekształcać kolumny w DAX, co powinno być zrobione wcześniej w Power Query.
  • Ignorowanie etapów transformacji danych: Pomijanie Power Query i importowanie danych „jak leci” prowadzi do niepotrzebnych komplikacji w modelu oraz spowolnienia działania raportów.
  • Tworzenie zbyt skomplikowanych miar: Nadmierna złożoność formuł DAX często wynika z braku odpowiedniego przygotowania danych, co utrudnia analizę i interpretację wyników.
  • Duplikowanie logiki transformacji: Powielanie tych samych operacji zarówno w Power Query, jak i w DAX prowadzi do niespójności i utrudnia utrzymanie modelu.
  • Brak dokumentacji zmian: Nieopisywanie kroków transformacji lub obliczeń utrudnia późniejsze zrozumienie modelu, zwłaszcza w pracy zespołowej.

Dobre praktyki

  • Transformacje danych wykonuj w Power Query: Czyszczenie danych, zmiana typów, filtrowanie czy łączenie źródeł najlepiej wykonać jeszcze przed załadowaniem danych do modelu.
  • DAX stosuj do obliczeń analitycznych: Twórz miary, wskaźniki i analizy dynamiczne już na gotowym, dobrze zaprojektowanym modelu danych.
  • Utrzymuj prostotę i przejrzystość: Zarówno kod M w Power Query, jak i formuły DAX powinny być czytelne i łatwe do zrozumienia, nawet po dłuższym czasie.
  • Opisuj etapy transformacji i miary: Komentarze i logiczne nazewnictwo ułatwiają pracę z modelem — zarówno Tobie, jak i innym członkom zespołu.
  • Testuj i weryfikuj wyniki na każdym etapie: Sprawdzanie danych po transformacjach i przed tworzeniem miar zapobiega propagowaniu błędów w dalszych analizach.

Stosowanie tych zasad pozwoli zachować równowagę pomiędzy elastycznością DAX a wydajnością Power Query, co przełoży się na bardziej responsywne i wiarygodne raporty.

💡 Pro tip: Nie przenoś ETL do DAX: czyszczenie i kształtowanie danych rób w Power Query, a w DAX trzymaj się miar i obliczeń kontekstowych, dzięki czemu model będzie szybszy i czytelniejszy. Unikaj duplikowania tej samej logiki w dwóch miejscach i opisuj kroki/miary, żeby łatwo było utrzymać raport w czasie.

Podsumowanie i rekomendacje

Power Query i DAX to dwa potężne narzędzia dostępne w środowisku Power BI, które wspólnie umożliwiają budowę wydajnych, elastycznych i skalowalnych raportów oraz modeli danych. Każde z nich pełni jednak odrębną rolę w procesie analizy danych.

Power Query służy przede wszystkim do pobierania, oczyszczania i transformowania danych na etapie ich ładowania. To narzędzie do przygotowania danych — pozwala łączyć różne źródła, usuwać niepotrzebne rekordy, przekształcać kolumny i tworzyć strukturę danych odpowiednią do dalszej analizy.

DAX (Data Analysis Expressions) działa na załadowanych już danych i umożliwia tworzenie zaawansowanych obliczeń, miar oraz logiki biznesowej w raportach. Jest nieodzownym narzędziem do analizy i prezentacji danych w dynamiczny, interaktywny sposób.

Aby efektywnie korzystać z Power BI, kluczowe jest zrozumienie, które operacje powinny być realizowane na etapie przetwarzania danych (Power Query), a które w warstwie analitycznej (DAX). Właściwy podział zadań pomiędzy tymi narzędziami pozwala nie tylko usprawnić pracę, ale również znacząco poprawić wydajność i przejrzystość całego rozwiązania.

Rekomendujemy, aby użytkownicy Power BI rozwijali kompetencje zarówno w Power Query, jak i w DAX, traktując je jako uzupełniające się elementy jednego systemu analitycznego. Świadome podejście do ich zastosowań to fundament efektywnej pracy z danymi. Na zakończenie – w Cognity wierzymy, że wiedza najlepiej działa wtedy, gdy jest osadzona w codziennej pracy. Dlatego szkolimy praktycznie.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments