IT Język zapytań

DAX

Znany też jako:Data Analysis Expressions

Definicja #

DAX (Data Analysis Expressions) to język formuł opracowany przez Microsoft, używany w narzędziach analitycznych opartych na silniku tabelarycznym VertiPaq: Power BI, Power Pivot (Excel) i SSAS Tabular. Składnia DAX przypomina formuły Excela, ale operuje na całych tabelach i kolumnach, a nie pojedynczych komórkach.

Kluczowe koncepcje DAX:

  • Miary (Measures) — dynamiczne obliczenia agregowane w kontekście filtrów raportu (np. suma sprzedaży, marża).
  • Kolumny obliczeniowe — wartości wyliczane dla każdego wiersza tabeli i przechowywane w modelu.
  • Kontekst filtrowania (Filter Context) — mechanizm określający, które wiersze są brane pod uwagę; kluczowy do zrozumienia funkcji CALCULATE.
  • Kontekst wiersza (Row Context) — iteracja po wierszach tabeli w funkcjach iteracyjnych (SUMX, AVERAGEX).
  • Time Intelligence — wbudowane funkcje do analiz czasowych: TOTALYTD, SAMEPERIODLASTYEAR, DATEADD.

Funkcja CALCULATE jest najważniejszą funkcją DAX — modyfikuje kontekst filtrowania obliczeń. Opanowanie DAX jest kluczowe dla tworzenia zaawansowanych modeli analitycznych i raportów w Power BI.

Zastosowania #

  • Tworzenie miary KPI — np. YoY Sales Growth obliczającej wzrost sprzedaży rok do roku za pomocą SAMEPERIODLASTYEAR.
  • Obliczanie skumulowanej sumy sprzedaży od początku roku (Year-To-Date) z TOTALYTD.
  • Budowa modelu z tabelą kalendarza i relacjami do analizy trendów czasowych w Power BI.
  • Dynamiczne rankingowanie produktów za pomocą RANKX.
  • Obliczanie udziałów procentowych kategorii w całości z użyciem ALL i CALCULATE.

Ścieżka nauki #

DAX najlepiej uczyć się przy praktycznej pracy z Power BI lub Excelem z Power Pivot:

  1. Zacznij od podstawowych funkcji agregujących: SUM, AVERAGE, COUNT, MIN, MAX.
  2. Naucz się tworzyć miary i rozumieć różnicę między miarą a kolumną obliczeniową.
  3. Opanuj CALCULATE — to fundament zaawansowanego DAX; zasoby: SQLBI.com (Marco Russo, Alberto Ferrari).
  4. Poznaj funkcje Time Intelligence i naucz się budować tabele kalendarza.
  5. Ćwicz z funkcjami iteracyjnymi: SUMX, AVERAGEX, RANKX.
  6. Zasoby: dax.guide, książka "The Definitive Guide to DAX" (Russo & Ferrari), kanał YouTube Guy in a Cube.

FAQ #

Czym różni się DAX od SQL?
SQL służy do pobierania i transformacji danych z relacyjnych baz danych. DAX to język formuł do obliczeń na już załadowanym modelu tabelarycznym — działa w kontekście filtrów raportu. DAX nie zastępuje SQL, lecz uzupełnia go na etapie analizy i wizualizacji.
Co to jest kontekst filtrowania w DAX?
Kontekst filtrowania (Filter Context) to zbiór filtrów aktywnych podczas obliczania miary — np. wybrany miesiąc, region lub kategoria produktu na raporcie. Funkcja CALCULATE pozwala modyfikować ten kontekst wewnątrz formuły.
Kiedy używać miary, a kiedy kolumny obliczeniowej?
Miary są obliczane dynamicznie w kontekście filtrów raportu i nie zajmują miejsca w modelu — używaj ich dla agregacji (sumy, średnie, udziały). Kolumny obliczeniowe są wyliczane przy odświeżaniu danych i przechowywane — używaj ich, gdy potrzebujesz wartości dla każdego wiersza do filtrowania lub grupowania.
Gdzie DAX jest używany poza Power BI?
DAX jest używany w Power Pivot (Excel), SQL Server Analysis Services (SSAS) w trybie tabelarycznym oraz Azure Analysis Services. Składnia jest niemal identyczna we wszystkich tych narzędziach.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z DAX w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.