Cześć! Zaraz sprawdzimy "The Definitive Guide to DAX, 2nd Edition".
Wprowadzenie do DAX
DAX to język formuł.
Używany w Power BI, Power Pivot i Analysis Services.
Służy do tworzenia obliczeń.
Pomaga analizować dane.
Podstawowe Koncepcje
Tabele, kolumny i miary są kluczowe.
Tabele zawierają dane.
Kolumny to atrybuty danych.
Miary to obliczenia na danych.
Przykład: Suma sprzedaży, Średnia cena.
Funkcje DAX
Funkcje to fundament DAX.
Dzielą się na kategorie.
Funkcje agregacji: SUM, AVERAGE, MIN, MAX, COUNT.
Funkcje logiczne: IF, AND, OR, SWITCH.
Funkcje daty i czasu: TODAY, YEAR, MONTH, DATE.
Funkcje tekstowe: CONCATENATE, LEFT, RIGHT, MID.
Funkcje filtrowania: FILTER, CALCULATE.
Funkcja CALCULATE
CALCULATE to bardzo ważna funkcja.
Zmienia kontekst filtrowania.
Umożliwia tworzenie zaawansowanych obliczeń.
Składnia: CALCULATE(expression, filter1, filter2, ...).
Przykład: CALCULATE(SUM(Sales[Amount]), Sales[Region] = "North").
Kontekst w DAX
Kontekst jest bardzo ważny.
Określa, które dane są używane w obliczeniach.
Dwa typy kontekstu: kontekst wiersza i kontekst filtru.
Kontekst Wiersza
Kontekst wiersza dotyczy pojedynczego wiersza.
Powstaje podczas używania funkcji iteracyjnych.
Przykład: SUMX, AVERAGEX.
Kontekst Filtru
Kontekst filtru to zbiór filtrów.
Ogranicza dane w obliczeniach.
CALCULATE modyfikuje kontekst filtru.
Relacje między Tabelami
Relacje łączą tabele.
Kluczowe dla poprawnej analizy.
Relacja jeden-do-wielu jest typowa.
Kierunek filtrowania ważny.
Może być pojedynczy lub dwukierunkowy.
Funkcje Relacji
RELATED pobiera wartość z innej tabeli.
Używana w relacji jeden-do-wielu.
RELATEDTABLE zwraca tabelę powiązaną.
Zmienne w DAX
Zmienne ułatwiają czytelność kodu.
Umożliwiają ponowne użycie obliczeń.
Deklaracja za pomocą VAR.
Zwracanie wartości za pomocą RETURN.
Przykład:
VAR TotalSales = SUM(Sales[Amount])
RETURN TotalSales * 0.1
Optymalizacja DAX
Optymalizacja jest ważna dla wydajności.
Unikaj iteracji, jeśli to możliwe.
Używaj funkcji agregacji.
Optymalizuj relacje.
Używaj zmiennych do przechowywania wyników pośrednich.
Techniki Optymalizacji
Keepfilters zachowuje istniejące filtry.
USERELATIONSHIP używa innej relacji.
CROSSFILTER modyfikuje kierunek filtrowania.
Zaawansowane Koncepcje
Time Intelligence to analiza danych w czasie.
Funkcje: DATEADD, SAMEPERIODLASTYEAR, TOTALYTD.
Parent-Child Hierarchies reprezentują struktury hierarchiczne.
Dynamic Row-Level Security (RLS) ogranicza dostęp do danych.
Time Intelligence
DATEADD przesuwa datę.
SAMEPERIODLASTYEAR zwraca okres z poprzedniego roku.
TOTALYTD oblicza sumę od początku roku.
Podsumowanie
DAX to potężny język.
Pozwala na zaawansowaną analizę danych.
Kluczowe koncepcje: tabele, kolumny, miary, funkcje, kontekst, relacje.
Pamiętaj o optymalizacji kodu.
Wykorzystuj zmienne.
Powodzenia na egzaminie!
