TOP 20 funkcji DAX, które realnie wykorzystasz w codziennej pracy

Poznaj 20 najczęściej wykorzystywanych funkcji DAX w Power BI – od agregacji po filtrowanie i analizę czasu. Praktyczne przykłady i wskazówki.
02 lutego 2026
blog
Poziom: Średnio zaawansowany

Artykuł przeznaczony dla analityków danych, controllerów finansowych, BI developerów oraz osób raportujących w Power BI i Excelu, które chcą uporządkować i pogłębić praktyczną wiedzę o funkcjach DAX i kontekście obliczeń.

Z tego artykułu dowiesz się

  • Czym jest język DAX i jaką rolę odgrywa w pracy analityka w Power BI, Excel Power Pivot i Analysis Services?
  • Jakie funkcje DAX (agregujące, logiczne, czasu, filtrowania oraz matematyczno-statystyczne) są najczęściej wykorzystywane w codziennych analizach?
  • Jak DAX wykorzystuje kontekst wiersza i filtra do budowy dynamicznych miar oraz precyzyjnego sterowania filtrami w raportach?

Wprowadzenie do języka DAX i jego roli w pracy analityka

Data Analysis Expressions, czyli DAX, to język formuł opracowany przez firmę Microsoft, stosowany w narzędziach analitycznych takich jak Power BI, Excel Power Pivot oraz Analysis Services. Choć jego składnia może przypominać znane funkcje Excela, DAX działa w zupełnie innym kontekście — opartym na modelu danych i analizie kontekstowej, co czyni go potężnym narzędziem analitycznym.

Rośnie zapotrzebowanie na dane analityczne w czasie rzeczywistym, a wraz z nim umiejętność tworzenia dynamicznych i zoptymalizowanych modeli danych. W tym kontekście DAX staje się nieodłącznym elementem codziennej pracy analityka danych, controllera finansowego, BI developera czy specjalisty ds. raportowania. Język ten pozwala nie tylko na tworzenie miar i kolumn obliczeniowych, ale także na zaawansowaną analizę kontekstu, filtrów oraz czasu.

Kluczową cechą DAX-a jest jego zdolność do pracy z kontekstem — zarówno wiersza, jak i filtra. Oznacza to, że wyniki obliczeń mogą się dynamicznie zmieniać w zależności od widoku danych, co daje ogromne możliwości tworzenia interaktywnych raportów i dashboardów. Umiejętność panowania nad tymi kontekstami odróżnia początkującego użytkownika od zaawansowanego analityka.

W codziennej pracy analitycznej DAX odgrywa rolę narzędzia, które pozwala:

  • Tworzyć miary i kolumny dostosowane do konkretnych potrzeb biznesowych,
  • Agregować dane według różnych kryteriów i segmentów,
  • Stosować logikę warunkową w celu budowy wskaźników KPI lub grupowania danych,
  • Analizować trendy czasowe oparte na kalendarzach i wskaźnikach porównawczych,
  • Filtrując dane dynamicznie w zależności od aktywnego widoku użytkownika,
  • Przetwarzać dane tekstowe i wykorzystywać relacje między tabelami w modelu danych.

Opanowanie języka DAX pozwala na pełne wykorzystanie potencjału Power BI i innych narzędzi Business Intelligence. To nie tylko kwestia znajomości funkcji, ale przede wszystkim zrozumienia, jak łączyć je w spójną logikę analizy danych. W tej serii przyjrzymy się 20 funkcjom DAX, które realnie przydadzą się w codziennej pracy każdego analityka.

Kategoria 1: Funkcje agregujące – kluczowe narzędzia do podsumowań

Funkcje agregujące to fundament każdej analizy danych w języku DAX. Pozwalają one na szybkie i precyzyjne podsumowanie informacji liczbowych, takich jak suma sprzedaży, średnia wartość zamówienia czy liczba unikalnych klientów. Bez nich trudno sobie wyobrazić efektywne tworzenie raportów i wizualizacji w Power BI czy modelach danych w Excelu.

Ich podstawową cechą jest działanie w kontekście – oznacza to, że wynik działania funkcji agregującej zależy od tego, jak dane są filtrowane lub grupowane w danym momencie. To właśnie kontekst odróżnia funkcje DAX od klasycznych funkcji Excela działających na statycznych zakresach.

Wielu uczestników szkoleń Cognity zgłaszało potrzebę pogłębienia tego tematu – odpowiadamy na tę potrzebę także na blogu.

Najczęściej wykorzystywane funkcje agregujące to:

  • SUM – do obliczania łącznych wartości liczbowych w kolumnie.
  • AVERAGE – do obliczania średniej arytmetycznej.
  • MIN i MAX – do identyfikacji wartości skrajnych.
  • COUNT i COUNTA – do liczenia wierszy lub niepustych wartości.
  • COUNTROWS – do liczenia liczby wierszy w tabeli lub tabelowym wyrażeniu.
  • SUMX, AVERAGEX i inne funkcje „x” – do obliczeń, które wymagają przetwarzania wiersz po wierszu w tabeli.

Wybór odpowiedniej funkcji agregującej zależy od tego, jaką informację chcemy uzyskać oraz w jakim kontekście pracujemy. Na przykład prosta suma sprzedaży będzie wyglądać inaczej w tabeli przestawnej z podziałem na regiony niż w miarce pokazującej ogólną wartość sprzedaży.

Funkcje agregujące są niezastąpione w codziennej pracy analityka – zarówno przy tworzeniu miar, jak i przy budowaniu bardziej złożonych obliczeń. Pozwalają nie tylko na szybkie uzyskanie podsumowań, ale także stanowią punkt wyjścia do bardziej zaawansowanych analiz.

Kategoria 2: Funkcje logiczne – podejmowanie decyzji w analizach

Funkcje logiczne w języku DAX pełnią kluczową rolę w tworzeniu warunkowych wyliczeń i dostosowywaniu wyników analizy do zmieniającego się kontekstu danych. Dzięki nim analitycy mogą dynamicznie reagować na określone sytuacje w modelu danych, np. różnicując działania w zależności od typu klienta, poziomu sprzedaży czy obecności wartości.

Podstawową cechą funkcji logicznych jest ich zdolność do podejmowania decyzji – podobnie jak w klasycznych instrukcjach warunkowych znanych z języków programowania. W praktyce oznacza to możliwość tworzenia złożonych wyrażeń, które kontrolują przepływ danych na podstawie logicznych warunków.

Wśród najczęściej wykorzystywanych funkcji logicznych w DAX znajdują się:

  • IF – klasyczna funkcja warunkowa pozwalająca wybierać pomiędzy dwoma wartościami w zależności od spełnienia warunku.
  • SWITCH – alternatywa dla zagnieżdżonych IF-ów, umożliwiająca bardziej przejrzyste przypisywanie wartości na podstawie wyrażeń warunkowych lub konkretnych przypadków.
  • AND / OR – operatory logiczne używane do łączenia warunków.
  • NOT – operator negacji, przydatny do odwracania wartości logicznej.
  • IFERROR – obsługa błędów, zastępująca potencjalnie błędne wyniki alternatywną wartością.
  • SELECTEDVALUE – funkcja zwracająca pojedynczą wartość z kontekstu filtrowania lub wartość domyślną, jeśli wybrano więcej niż jeden element.

W tabeli poniżej przedstawiono krótkie porównanie dwóch popularnych funkcji warunkowych:

Funkcja Opis Przykładowe użycie
IF Prosty warunek zwracający jedną z dwóch wartości IF([Sprzedaż] > 1000, "Wysoka", "Niska")
SWITCH Warunkowe dopasowanie wielu wartości lub przypadków SWITCH(TRUE(), [Wynik]>=90, "A", [Wynik]>=80, "B", "Inne")

Funkcje logiczne, choć często niewielkie pod względem składni, mają ogromne znaczenie w modelowaniu danych i przygotowywaniu dynamicznych miar. Dają analitykowi kontrolę nad logiką biznesową zawartą w raportach i wskaźnikach, stanowiąc fundament inteligentnych analiz. Jeśli chcesz pogłębić swoją wiedzę i skutecznie wykorzystać funkcje DAX w praktyce, rozważ udział w Kursie Język DAX i język M - wykorzystanie funkcji języka DAX i analiza danych przy użyciu języka M.

Kategoria 3: Funkcje czasu – analiza danych w kontekście dat

Funkcje czasu w języku DAX to nieodzowne narzędzia dla każdego analityka danych pracującego z danymi historycznymi, sezonowymi czy prognozami. Pozwalają one na analizowanie zmian wartości w czasie, porównywanie okresów oraz budowanie wskaźników opartych na przeszłych wynikach. Są szczególnie przydatne w analizach sprzedaży, finansowych oraz w raportach KPI.

Dzięki tym funkcjom możliwe jest m.in. obliczenie wartości z poprzedniego miesiąca, wyznaczenie tendencji rocznych, a także dynamiczne dostosowywanie zakresu dat do wyboru użytkownika w raporcie. Na szkoleniach Cognity pokazujemy, jak poradzić sobie z tym zagadnieniem krok po kroku – poniżej przedstawiamy skrót tych metod.

W DAX znajdziemy wiele funkcji czasu, ale najczęściej wykorzystywane można podzielić na kilka grup funkcjonalnych:

  • Porównania w czasie: funkcje takie jak PREVIOUSMONTH(), SAMEPERIODLASTYEAR() czy PARALLELPERIOD() umożliwiają analizę danych z analogicznych okresów w przeszłości.
  • Kumulacje czasowe: funkcje takie jak DATESYTD(), DATESMTD() czy DATESQTD() pozwalają na łatwe tworzenie narastających zestawień wartości od początku roku, miesiąca czy kwartału.
  • Zakresy dat: dzięki funkcjom takim jak DATESBETWEEN() czy DATESINPERIOD() można definować niestandardowe przedziały czasowe do analizy.

Oto krótkie porównanie wybranych funkcji czasu:

Funkcja Zastosowanie Typowy przykład
SAMEPERIODLASTYEAR() Porównanie z tym samym okresem w roku poprzednim Analiza sprzedaży rok do roku
DATESYTD() Kumulowana wartość od początku roku Przychód narastająco YTD
PREVIOUSMONTH() Dane z wcześniejszego miesiąca Zmiana wartości miesiąc do miesiąca

Warto pamiętać, że skuteczne wykorzystanie funkcji czasu wymaga poprawnie skonfigurowanej tabeli dat (kalendarza), która umożliwia DAX-owi prawidłową interpretację ciągłości i hierarchii czasowej.

Funkcje czasu w DAX to fundament analiz trendów, sezonowości oraz porównań międzyokresowych – a więc wszystkich tych elementów, które pomagają lepiej zrozumieć dynamikę danych i wspierają podejmowanie decyzji biznesowych opartych na czasie.

Kategoria 4: Funkcje filtrowania – precyzyjne operowanie kontekstem danych

Jedną z najbardziej unikalnych cech języka DAX jest jego zdolność do dynamicznego manipulowania kontekstem obliczeń. W codziennej pracy analityka oznacza to możliwość tworzenia elastycznych i precyzyjnych analiz, które reagują na zmieniające się filtry, selekcje użytkownika czy układ raportu. Kluczową rolę w tym zakresie odgrywają funkcje filtrowania.

Funkcje filtrowania umożliwiają nadpisywanie domyślnego kontekstu raportu oraz selektywne uwzględnianie lub wykluczanie danych. Dzięki nim możesz np. porównywać wyniki różnych kategorii, analizować sprzedaż tylko wybranych produktów albo tworzyć niestandardowe miary, które nie są bezpośrednio zależne od filtrów na stronie raportu.

Oto podstawowe funkcje filtrowania, które warto znać:

  • FILTER – tworzy tabelę z wierszami spełniającymi określony warunek; często wykorzystywana wewnątrz innych funkcji, jak CALCULATE.
  • CALCULATE – zmienia kontekst obliczenia przez zastosowanie jednego lub wielu filtrów; to fundament budowania zaawansowanych miar.
  • ALL – usuwa filtry z określonych kolumn lub całych tabel, co przydaje się przy obliczaniu udziałów procentowych czy wartości ogólnych.
  • ALLEXCEPT – usuwa wszystkie filtry z wyjątkiem wskazanych kolumn; idealne do analizy w ramach wybranych kategorii.
  • VALUES – zwraca unikalne wartości kolumny, z uwzględnieniem bieżącego kontekstu; przydatna w tworzeniu logiki „per element”.
  • SELECTEDVALUE – zwraca pojedynczą wartość z kolumny, jeśli tylko jedna została wybrana, w przeciwnym razie zwraca wartość domyślną.
  • KEEPFILTERS – pozwala zachować istniejące filtry przy stosowaniu nowych, zamiast je nadpisywać – subtelna, ale istotna różnica w zachowaniu modelu.

Dla lepszego zrozumienia, poniższa tabela zestawia kilka z tych funkcji wraz z ich typowymi zastosowaniami:

Funkcja Zastosowanie Efekt
CALCULATE Zmiana kontekstu obliczenia Podstawowa forma zaawansowanych miar
ALL Usunięcie filtrów Obliczenia niezależne od selekcji w raporcie
FILTER Warunkowe filtrowanie tabel Tworzenie dynamicznych podzestawów danych
ALLEXCEPT Zachowanie filtrów tylko w wybranych kolumnach Agregacja przy jednoczesnym zachowaniu wybranych kontekstów
SELECTEDVALUE Pobranie wybranej wartości Tworzenie logicznych warunków zależnych od użytkownika

Na przykład, poniższy kod ilustruje wykorzystanie funkcji CALCULATE i FILTER w celu policzenia sprzedaży tylko dla produktów o marży powyżej 30%:

SprzedażWysokaMarża =
CALCULATE(
    SUM(FaktSprzedaż[Kwota]),
    FILTER(
        DimProdukt,
        DimProdukt[Marża] > 0.3
    )
)

Dzięki funkcjom filtrowania DAX pozwala na wyjątkowo precyzyjne sterowanie tym, które dane są analizowane, niezależnie od interakcji użytkownika z raportem. Ta elastyczność czyni go potężnym narzędziem w arsenale każdego analityka pracującego z Power BI czy tablicami przestawnymi Excel. Jeśli chcesz pogłębić swoją wiedzę i nauczyć się skutecznie wykorzystywać DAX w praktyce, sprawdź Kurs DAX – praca w języku DAX i użyteczne funkcje, wizualizacja danych w Power BI.

Kategoria 5: Funkcje matematyczne i statystyczne – obliczenia i analizy ilościowe

W codziennej pracy analityka dane liczbowe stanowią podstawę wielu decyzji biznesowych. Język DAX oferuje szeroki wachlarz funkcji matematycznych i statystycznych, które pozwalają na przeprowadzanie precyzyjnych analiz ilościowych. Dzięki nim możliwe jest nie tylko wykonywanie prostych obliczeń, ale również rozbudowanych analiz rozkładów wartości, trendów czy odchyleń.

Funkcje te można podzielić na kilka głównych grup:

  • Podstawowe funkcje matematyczne – służą do wykonywania operacji arytmetycznych, m.in. ABS, ROUND, INT, MOD.
  • Funkcje statystyczne – umożliwiają analizę rozkładu danych, jak np. AVERAGE, MEDIAN, STDEV.P, VAR.P.
  • Funkcje agregujące liczbowe – pozwalają podsumowywać dane liczbowe, np. SUM, MIN, MAX, COUNT.

W codziennej praktyce funkcje te są nieocenione przy:

  • tworzeniu KPI (np. marża, średnia wartość koszyka, udział procentowy),
  • analizie trendów i odchyleń wartości w czasie,
  • budowie zaawansowanych modeli predykcyjnych i detekcji anomalii,
  • oczyszczaniu danych i estymacji brakujących wartości.

Przykład prostego obliczenia procentowego udziału sprzedaży danego produktu w całkowitej sprzedaży:

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

Co istotne, wiele z tych funkcji może być używana w połączeniu z funkcjami kontekstowymi, co pozwala na dynamiczne obliczenia w zależności od filtrów czy wymiarów w raporcie.

Poniższa tabela prezentuje wybrane funkcje i ich typowe zastosowania:

Funkcja Opis Przykładowe zastosowanie
SUM Suma wartości kolumny Całkowita sprzedaż w regionie
AVERAGE Średnia wartość liczbowych danych Średnia wartość zamówienia
ROUND Zaokrąglenie do określonej liczby miejsc Zaokrąglenie marży do dwóch miejsc
STDEV.P Odchylenie standardowe populacji Analiza rozproszenia wyników sprzedaży
DIVIDE Dzielenie z obsługą błędów Obliczenie udziału procentowego

Funkcje matematyczne i statystyczne w DAX to narzędzia nie tylko do liczenia, ale przede wszystkim do interpretowania danych liczbowych w sposób analityczny i ukierunkowany na konkretne decyzje.

Kategoria 6: Funkcje tekstowe i związane z relacjami – praca z danymi jakościowymi

Choć język DAX kojarzy się przede wszystkim z analizą liczbową, równie istotną rolę pełnią funkcje umożliwiające pracę z danymi tekstowymi i relacjami między tabelami. W codziennej pracy analityka kluczowe jest nie tylko liczenie, ale też interpretowanie danych jakościowych, takich jak nazwy produktów, kategorie, regiony czy inne opisy – a do tego właśnie służą funkcje tekstowe. Z kolei funkcje związane z relacjami pozwalają efektywnie nawigować po modelu danych, łączyć informacje z wielu tabel i budować zaawansowane miary w oparciu o logiczne powiązania między rekordami.

Funkcje tekstowe umożliwiają m.in. łączenie różnych fragmentów tekstu, wyodrębnianie określonych części ciągów znaków, konwersję danych do innego formatu czy tworzenie dynamicznych etykiet w wizualizacjach. Dzięki nim można także poprawiać jakość danych importowanych z różnych źródeł lub przygotowywać je do dalszych analiz.

Funkcje związane z relacjami, z kolei, pozwalają na uzyskanie pełnego obrazu danych bez konieczności fizycznego łączenia tabel. Umożliwiają „przeskakiwanie” pomiędzy powiązanymi tabelami, filtrowanie danych na podstawie powiązań oraz tworzenie bardziej elastycznych i dynamicznych modeli danych.

Opanowanie funkcji tekstowych i relacyjnych w DAX to krok w stronę bardziej dojrzałej analizy danych – takiej, która uwzględnia pełen kontekst informacji i nie ogranicza się wyłącznie do liczb.

Podsumowanie i wskazówki dotyczące dalszego doskonalenia znajomości DAX

Język DAX (Data Analysis Expressions) to jedno z kluczowych narzędzi analitycznych w Power BI, Excelu (Power Pivot) oraz innych rozwiązaniach opartych na technologii Analysis Services. Jego głównym celem jest umożliwienie użytkownikom tworzenia zaawansowanych obliczeń i dynamicznych analiz, które wychodzą daleko poza możliwości tradycyjnych formuł arkusza kalkulacyjnego.

DAX wyróżnia się tym, że pozwala operować na danych w kontekście modelu danych, a nie pojedynczych komórek. Dzięki temu możliwe jest tworzenie elastycznych miar, kolumn obliczeniowych czy wskaźników KPI, które automatycznie dostosowują się do filtrów, segmentów i innych elementów interaktywnego raportu. To sprawia, że analityk nie musi ręcznie tworzyć wielu wersji tego samego raportu — wystarczy dobrze przemyślana formuła DAX.

Aby skutecznie pracować z DAX-em, warto rozwijać nie tylko znajomość składni, ale przede wszystkim zrozumienie kontekstu obliczeń — zarówno wiersza (row context), jak i filtru (filter context). To właśnie one decydują o tym, jak interpretowane są dane podczas wykonywania formuł. Wraz z doświadczeniem, analityk zaczyna dostrzegać ogromne możliwości personalizacji raportów i tworzenia efektywnych modeli danych, które mogą wspierać decyzje biznesowe na różnych poziomach organizacji.

Chcąc rozwijać swoje umiejętności w zakresie DAX, warto korzystać z:

  • oficjalnej dokumentacji Microsoft, która zawiera szczegółowe opisy funkcji i praktyczne przykłady,
  • społeczności użytkowników Power BI i forów, gdzie można znaleźć odpowiedzi na konkretne pytania i wyzwania,
  • kursów online i warsztatów prowadzonych przez doświadczonych praktyków,
  • praktyki na własnych zestawach danych – to jedna z najskuteczniejszych metod nauki, pozwalająca lepiej zrozumieć kontekst biznesowy i techniczny.

DAX to nie tylko język formuł — to narzędzie analityczne, które umożliwia przekształcanie danych w wiedzę. Im lepiej go poznasz, tym precyzyjniejsze, bardziej dynamiczne i użyteczne raporty będziesz w stanie tworzyć. 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