DAX dla początkujących — najważniejsze funkcje, które musisz znać

Poznaj podstawy języka DAX w Power BI – najważniejsze funkcje, składnię i praktyczne zastosowania. Idealne dla początkujących analityków danych.
11 kwietnia 2026
blog

Wprowadzenie do języka DAX i jego roli w Power BI

DAX (Data Analysis Expressions) to język formuł, który odgrywa kluczową rolę w tworzeniu modeli danych i analiz w Power BI. Został opracowany przez Microsoft z myślą o umożliwieniu użytkownikom tworzenia bardziej zaawansowanych miar, kolumn obliczeniowych i tabel opartych na dostępnych danych. Choć swoim wyglądem przypomina formuły znane z Excela, DAX oferuje znacznie większe możliwości w zakresie analizy danych i ich kontekstowego przetwarzania.

Głównym zadaniem DAX-a jest umożliwienie użytkownikowi tworzenia dynamicznych obliczeń i dostosowywania wyników analiz w zależności od interakcji w raportach. Dzięki niemu możliwe jest budowanie niestandardowych wskaźników KPI, obliczeń porównawczych (np. rok do roku) czy analiz opartych na różnych zakresach czasu i filtrach.

W środowisku Power BI DAX pełni funkcję „silnika obliczeniowego”, który pozwala na:

  • tworzenie własnych miar i kolumn, które nie są dostępne bezpośrednio w źródłach danych,
  • manipulowanie kontekstem danych w zależności od wybranych filtrów i segmentów,
  • analizowanie relacji między tabelami i modelowanie danych na wyższym poziomie szczegółowości,
  • zwiększenie elastyczności raportowania przez zaawansowane wyrażenia logiczne i matematyczne.

Choć nauka DAX może wydawać się wyzwaniem dla początkujących, opanowanie jego podstaw umożliwia tworzenie dużo bardziej wartościowych i interaktywnych raportów w Power BI. Zrozumienie roli tego języka to pierwszy krok do efektywnego modelowania danych i przeprowadzania zaawansowanych analiz biznesowych.

Podstawowe składniki składni DAX

Język DAX (Data Analysis Expressions) został zaprojektowany z myślą o analizie danych w Power BI, Excelu oraz innych produktach Microsoftu opartych na technologii modelu danych. Choć jego składnia może przypominać formuły znane z Excela, DAX oferuje znacznie większą elastyczność w modelowaniu danych i definiowaniu zaawansowanych miar. Ten wpis powstał w odpowiedzi na zagadnienia, które regularnie pojawiają się na szkoleniach prowadzonych przez Cognity.

Podstawowym elementem DAX są formuły, które składają się z funkcji, operatorów, stałych i odwołań do kolumn. W odróżnieniu od Excela, DAX operuje głównie na kolumnach danych, a nie pojedynczych komórkach. Z tego powodu zrozumienie sposobu działania tych elementów jest kluczowe już na początku pracy z tym językiem.

  • Funkcje — DAX oferuje szeroki zbiór funkcji, które można podzielić na kategorie, takie jak funkcje agregujące, logiczne, tekstowe, daty i czasu, czy statystyczne. To one odpowiadają za przetwarzanie danych i wyliczenia.
  • Kolumny i tabele — zamiast tradycyjnych komórek, DAX operuje na kolumnach i całych tabelach. Odwołania do danych przyjmują postać nazwa_tabeli[nazwa_kolumny].
  • Stałe i operatory — w DAX można stosować stałe wartości liczbowe, tekstowe czy logiczne oraz standardowe operatory arytmetyczne i porównania, takie jak +, -, *, /, =, > czy <.
  • Kontekst — jedno z kluczowych pojęć w DAX, odnoszące się do zakresu danych branych pod uwagę przy obliczeniach. Istnieją dwa główne typy kontekstu: kontekst wiersza i kontekst filtrowania.

Opanowanie tych elementów składni pozwala na tworzenie coraz bardziej złożonych obliczeń oraz pełne wykorzystanie potencjału Power BI w analizie i wizualizacji danych.

Najważniejsze funkcje agregujące: SUM, AVERAGE, COUNT

Funkcje agregujące są podstawą pracy z językiem DAX, ponieważ pozwalają na szybkie podsumowanie i analizę danych liczbowych w tabelach. Trzy najczęściej stosowane funkcje to SUM, AVERAGE oraz COUNT. Każda z nich służy innemu celowi i odgrywa istotną rolę w codziennej pracy z raportami w Power BI.

  • SUM — służy do zsumowania wartości liczbowych w danej kolumnie. Najczęściej wykorzystywana do obliczania łącznej sprzedaży, kosztów czy przychodów.
  • AVERAGE — oblicza średnią arytmetyczną z wartości liczbowych. Dzięki niej można określić np. średnią wartość zamówienia lub średni wynik testu.
  • COUNT — zlicza liczbę niepustych wartości w kolumnie. To przydatne narzędzie do analizy liczby transakcji, klientów czy zdarzeń.

Poniższa tabela prezentuje podstawowe informacje o każdej z funkcji:

Funkcja Opis Typ danych wejściowych Typ danych wynikowych
SUM(column) Zwraca sumę wartości liczbowych Liczby Liczba
AVERAGE(column) Oblicza średnią arytmetyczną Liczby Liczba
COUNT(column) Zlicza niepuste wartości Dowolny typ danych Liczba całkowita

Przykład prostego użycia funkcji SUM w mierniku DAX:

CałkowitaSprzedaż = SUM(FaktSprzedaż[WartośćZamówienia])

Warto pamiętać, że choć funkcje te są intuicyjne, ich zachowanie może zależeć od kontekstu filtrów i relacji między tabelami. Dlatego zrozumienie ich działania w różnych sytuacjach analitycznych jest kluczowe dla skutecznej pracy z Power BI. Jeśli chcesz pogłębić swoją wiedzę, warto zapoznać się z Kursem DAX - praca w języku DAX i użyteczne funkcje, wizualizacja danych w Power BI.

💡 Pro tip: Zawsze pamiętaj, że SUM/AVERAGE/COUNT liczą w aktualnym kontekście filtrów — ten sam miernik może dać różne wyniki na różnych wizualizacjach. Gdy chcesz zliczać rekordy niezależnie od pustych wartości lub duplikatów, rozważ alternatywy typu COUNTA/COUNTROWS/DISTINCTCOUNT zamiast „domyślnego” COUNT.

Zastosowanie funkcji CALCULATE i FILTER w analizie danych

W języku DAX funkcje CALCULATE i FILTER odgrywają kluczową rolę w budowaniu zaawansowanych miar i analiz biznesowych. Dzięki nim możliwe jest modyfikowanie kontekstu obliczeń oraz precyzyjne filtrowanie danych, co czyni je nieodłącznym elementem pracy z Power BI. W Cognity wierzymy, że dobre zrozumienie tego tematu to podstawa efektywnej pracy z narzędziami cyfrowymi.

CALCULATE jest jedną z najpotężniejszych funkcji w DAX, ponieważ pozwala na zmianę kontekstu filtrowania, w jakim wykonywane jest obliczenie. Innymi słowy, umożliwia stworzenie miar, które reagują na określone warunki, niezależnie od domyślnych filtrów w raporcie.

FILTER natomiast służy do tworzenia niestandardowych warunków filtrowania. Zwraca ona tabelę zawierającą tylko te wiersze, które spełniają określone kryteria logiczne. Często używana jest jako argument wewnątrz funkcji CALCULATE, by doprecyzować, które dane mają zostać uwzględnione w obliczeniu.

Oto podstawowe porównanie zastosowań obu funkcji:

Funkcja Zastosowanie Typ zwracanej wartości
CALCULATE Modyfikowanie kontekstu obliczeń w celu uzyskania dynamicznych miar Pojedyncza wartość (np. liczba, tekst, data)
FILTER Tworzenie niestandardowego zbioru danych na podstawie warunku logicznego Tabela

Przykładowe użycie funkcji CALCULATE z FILTER może wyglądać następująco:

CALCULATE(
    SUM(Sales[Amount]),
    FILTER(Sales, Sales[Region] = "Zachód")
)

Powyższe wyrażenie oblicza sumę sprzedaży (Sales[Amount]), ale tylko dla regionu Zachód, niezależnie od innych filtrów zastosowanych w raporcie. Taka elastyczność sprawia, że te funkcje są nieocenione w tworzeniu niestandardowych analiz, KPI i wskaźników biznesowych.

W praktyce CALCULATE działa jak „przełącznik kontekstu”, a FILTER pozwala dokładnie określić, na jakim zestawie danych operujemy. Ich połączenie daje użytkownikowi pełną kontrolę nad wynikami analiz tworzonych w Power BI.

Rola funkcji ALL i kontekst filtrowania

Jednym z kluczowych elementów pracy z językiem DAX w Power BI jest zrozumienie kontekstu filtrowania oraz roli, jaką odgrywa funkcja ALL w jego modyfikowaniu. Kontekst filtrowania określa, które dane są widoczne dla poszczególnych obliczeń, co ma bezpośredni wpływ na wyniki prezentowane w raportach.

Funkcja ALL jest często wykorzystywana do ignorowania aktywnych filtrów w konkretnych kolumnach lub tabelach. Umożliwia to porównywanie wartości indywidualnych względem całości, np. obliczanie udziału procentowego danej kategorii w ogólnej sumie.

Poniższa tabela przedstawia podstawowe różnice między zastosowaniem funkcji ALL a standardowym zachowaniem DAX przy uwzględnianiu filtrów:

Bez funkcji ALL Z funkcją ALL
Wyniki zależą od aktywnych filtrów na wizualizacji Filtry są pomijane dla wskazanej kolumny lub tabeli
Dane są analizowane w ograniczonym kontekście Analiza obejmuje wszystkie dostępne dane
Użyteczne do szczegółowych analiz Użyteczne przy tworzeniu wskaźników ogólnych (np. średnich, udziałów)

Przykład użycia funkcji ALL w praktyce:

PercentOfTotal = 
DIVIDE(
    SUM(Sales[Amount]),
    CALCULATE(SUM(Sales[Amount]), ALL(Sales))
)

W tym przykładzie obliczamy udział sprzedaży w łącznej sprzedaży, niezależnie od zastosowanych filtrów. Funkcja ALL resetuje kontekst filtrowania dla tabeli Sales, co pozwala uzyskać wartość całkowitą jako punkt odniesienia.

Zrozumienie działania funkcji ALL i kontekstu filtrowania jest niezbędne do budowania zaawansowanych miar i przejrzystych analiz w Power BI. Jeśli chcesz poszerzyć swoją wiedzę w praktyce, sprawdź nasze Kurs Język DAX i język M - wykorzystanie funkcji języka DAX i analiza danych przy użyciu języka M.

💡 Pro tip: Używaj ALL jako „resetu” filtrów tylko tam, gdzie potrzebujesz punktu odniesienia (np. % udziału w całości), bo łatwo niechcący zignorować istotne slicery. Precyzuj zakres: ALL(kolumna) jest bezpieczniejsze niż ALL(tabela), gdy chcesz zdjąć filtr tylko z jednej osi, a resztę filtrów zostawić.

Łączenie danych za pomocą funkcji RELATED i RELATEDTABLE

W pracy z Power BI bardzo często mamy do czynienia z danymi rozproszonymi w różnych tabelach. Aby skutecznie analizować informacje pochodzące z wielu źródeł, potrzebujemy narzędzi umożliwiających łączenie tych danych w logiczny sposób. W języku DAX służą do tego funkcje RELATED i RELATEDTABLE, które pozwalają nawigować po relacjach między tabelami i pobierać potrzebne dane.

Obie funkcje bazują na wcześniej zdefiniowanych relacjach pomiędzy tabelami w modelu danych Power BI. Różnią się jednak kierunkiem działania i zakresem zwracanych wyników:

Funkcja Zastosowanie Typ zwracanej wartości
RELATED Używana w tabeli zależnej (wiele) do pobrania wartości z tabeli nadrzędnej (jeden). Pojedyncza wartość (np. nazwa kategorii produktu).
RELATEDTABLE Używana w tabeli nadrzędnej (jeden) do pobrania powiązanych wierszy z tabeli zależnej (wiele). Tabela zawierająca wiele wierszy (np. lista wszystkich zamówień dla klienta).

Przykład użycia funkcji RELATED:

ProductCategory = RELATED('Category'[CategoryName])

Powyższy kod dodaje do tabeli produktów nazwę kategorii z tabeli kategorii, zakładając istnienie relacji między tymi tabelami.

Przykład użycia funkcji RELATEDTABLE:

SalesCount = COUNTROWS(RELATEDTABLE('Sales'))

W tym przypadku obliczamy liczbę sprzedaży powiązanych z danym produktem lub klientem, w zależności od kontekstu tabeli, w której funkcja jest użyta.

Funkcje RELATED i RELATEDTABLE są nieocenione podczas pracy z dobrze zaprojektowanym modelem danych, w którym relacje między tabelami są jasno określone i wykorzystywane do spójnej analizy.

Praktyczne przykłady zastosowania funkcji DAX

Język DAX (Data Analysis Expressions) jest niezwykle przydatny w codziennej pracy z Power BI, szczególnie gdy chcesz tworzyć dynamiczne miary, analizować dane w kontekście czasu lub tworzyć relacje między różnymi zestawami danych. Poniżej przedstawiamy kilka praktycznych scenariuszy, w których funkcje DAX znajdują zastosowanie.

  • Obliczanie wartości sprzedaży w czasie: Dzięki DAX możesz łatwo porównywać sprzedaż rok do roku, miesiąc do miesiąca czy tworzyć skumulowane sumy sprzedaży. Funkcje wykorzystujące kontekst daty pozwalają uchwycić trendy i sezonowość.
  • Tworzenie wskaźników KPI: DAX umożliwia budowę wskaźników kluczowych (np. marży, zysku netto, średniej wartości koszyka zakupowego), które można dynamicznie filtrować według segmentu klientów, regionu czy produktu.
  • Tworzenie niestandardowych filtrów: Dzięki funkcjom takim jak CALCULATE i FILTER możesz analizować dane w bardzo precyzyjnych warunkach — np. obliczyć średnią sprzedaż tylko dla klientów, którzy dokonali zakupu więcej niż trzy razy.
  • Porównanie grup danych: Używając funkcji ALL, możesz porównać pojedyncze wartości do wartości ogólnych, takich jak udział danego produktu w całkowitej sprzedaży czy wynik regionu względem średniej globalnej.
  • Analiza relacji między tabelami: DAX pozwala na pobieranie danych z tabel powiązanych za pomocą funkcji takich jak RELATED czy RELATEDTABLE, co sprawia, że możliwe staje się tworzenie bardziej zaawansowanych analiz między relacjami typu „jeden do wielu”.

Dzięki tym możliwościom DAX staje się nie tylko narzędziem do prostych obliczeń, ale również fundamentem zaawansowanej analizy biznesowej w Power BI. Jego elastyczność pozwala na dostosowanie raportów do złożonych potrzeb użytkowników końcowych.

Najczęstsze błędy i dobre praktyki dla początkujących

DAX, mimo że z pozoru przypomina inne języki formuł (takie jak Excel), posiada swoją unikalną logikę działania, co może prowadzić do wielu nieporozumień na początku nauki. Oto kilka najczęstszych błędów oraz dobre praktyki, które warto znać, by uniknąć frustracji i zbudować solidne podstawy do dalszej pracy z DAX.

  • Nieznajomość kontekstu obliczeniowego: Jednym z najczęstszych błędów jest niezrozumienie, że DAX działa w oparciu o kontekst – wierszy i filtrów. Wynik tej samej formuły może się różnić w zależności od miejsca jej użycia.
  • Używanie funkcji w niewłaściwym kontekście: Funkcje, które w Excelu działają zawsze tak samo, w DAX mogą wymagać specjalnych warunków. Przykładowo, niektóre funkcje agregujące oczekują kolumny jako argumentu, a nie pojedynczej wartości.
  • Nadmierne zagnieżdżanie formuł: Złożone formuły z wieloma funkcjami wewnątrz siebie mogą być trudne do zrozumienia i debugowania. Warto upraszczać kod i dzielić obliczenia na mniejsze kroki.
  • Brak uwzględnienia relacji między tabelami: Początkujący często zapominają, że struktura modelu danych ma kluczowy wpływ na działanie DAX. Niewłaściwe relacje lub ich brak mogą prowadzić do błędnych wyników.
  • Próby kopiowania logiki Excela 1:1: Choć DAX i Excel mają podobną składnię, ich logika działania jest inna. Próby bezpośredniego przenoszenia rozwiązań mogą prowadzić do nieoczekiwanych rezultatów.

Aby uniknąć powyższych problemów, warto stosować kilka dobrych praktyk:

  • Buduj zrozumiały model danych: Uporządkowana struktura tabel i poprawne relacje to podstawa skutecznego wykorzystania DAX.
  • Testuj formuły na małych fragmentach danych: Pozwoli to lepiej zrozumieć, jak działa dana funkcja w konkretnym kontekście.
  • Opisuj swoje miary i kolumny: Jasne nazewnictwo oraz komentarze (tam, gdzie to możliwe) ułatwiają zrozumienie modelu – zarówno Tobie, jak i innym użytkownikom.
  • Ucz się na przykładach: Analizowanie praktycznych przypadków pomaga lepiej zrozumieć działanie funkcji i przygotowuje do rozwiązywania bardziej złożonych problemów.

Prawidłowe stosowanie DAX wymaga cierpliwości i praktyki, ale unikanie podstawowych błędów już na początku znacząco przyspiesza proces nauki i pomaga tworzyć bardziej efektywne modele analityczne. Podczas szkoleń Cognity pogłębiamy te zagadnienia w oparciu o konkretne przykłady z pracy uczestników.

💡 Pro tip: Gdy wynik miary Cię zaskakuje, najpierw sprawdź kontekst (filtry, relacje, poziom szczegółowości wizualizacji) — to najczęstsze źródło „błędów” w DAX. Upraszczaj miary przez zmienne (VAR) i testuj krokami na małym wycinku danych, bo zagnieżdżone formuły bez podziału są trudne do debugowania.
icon

Formularz kontaktowyContact form

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