DAX (Data Analysis Expressions) to język formuł używany w narzędziach Microsoft takich jak Power BI, Excel (Power Pivot) oraz SQL Server Analysis Services (SSAS) do tworzenia zaawansowanych kalkulacji i analizy danych. DAX umożliwia tworzenie nowych kolumn, miar i tabel na podstawie istniejących danych, co pozwala na bardziej złożoną analizę i modelowanie danych.
Kluczowe elementy DAX:
- Funkcje DAX – DAX oferuje szeroki zestaw funkcji, podobnych do funkcji w Excelu, takich jak:
- Funkcje agregujące: SUM, AVERAGE, COUNT.
- Funkcje logiczne: IF, AND, OR.
- Funkcje związane z czasem: TOTALYTD, SAMEPERIODLASTYEAR, DATEADD (do analizy danych w kontekście dat).
- Funkcje matematyczne i statystyczne: ROUND, RANKX, MAX, MIN.
- Miary i kolumny obliczeniowe – Za pomocą DAX użytkownicy mogą definiować miary (dynamiczne kalkulacje używane w raportach) oraz kolumny obliczeniowe (dodane do modelu danych).
- Złożone relacje między danymi – DAX umożliwia pracę na relacjach między tabelami, co pozwala na analizę danych z różnych tabel w jednym modelu danych.
- Filtry i konteksty – DAX obsługuje kontekst rzędowy i kontekst filtru. Kontekst filtru odnosi się do tego, jak dane są filtrowane podczas obliczeń, np. w miarach agregujących, takich jak SUMX, gdzie DAX filtruje wartości na podstawie bieżącego kontekstu.
Przykłady funkcji DAX:
- SUMX – Zlicza wartości w określonym zakresie, ale pozwala na użycie bardziej skomplikowanej logiki.DAXSkopiuj kod
SUMX(Sales, Sales[Quantity] * Sales[Price])
- CALCULATE – Zmienia kontekst filtru i używa go do wyliczenia miary, co pozwala na tworzenie zaawansowanych obliczeń.DAXSkopiuj kod
CALCULATE(SUM(Sales[Revenue]), Sales[Region] = "Europe")
- TOTALYTD – Oblicza skumulowaną sumę od początku roku.DAXSkopiuj kod
TOTALYTD(SUM(Sales[Revenue]), Dates[Date])
Zastosowania DAX:
- Tworzenie niestandardowych miar – Użytkownicy Power BI mogą tworzyć niestandardowe kalkulacje, które dynamicznie reagują na filtry w raportach i dashboardach.
- Analiza czasowa – DAX umożliwia analizę danych w kontekście czasu, pozwalając na obliczanie zmian rok do roku, analiza trendów w określonych okresach itp.
- Zaawansowane filtry – DAX pozwala na zaawansowane filtrowanie danych, co daje możliwość bardziej szczegółowej analizy na poziomie indywidualnych rekordów lub grup.
DAX jest potężnym narzędziem w Power BI, Excel i SSAS, umożliwiającym użytkownikom tworzenie zaawansowanych analiz i wglądów na podstawie danych, dzięki czemu jest kluczowym narzędziem w modelowaniu danych.