DAX - język formuł (rozszyfrowywany jako
Krótko mówiąc, DAX - to formuły dla tabel przestawnych. Większość funkcji DAX ma podobne nazwy i cechy w porównaniu do zwykłych funkcji Excela, ale mogą być używane tylko w PowerPivot. Jak wiadomo, zwykłe Tabele przestawne mogą zawierać pola obliczeniowe (odpowiednik
Ogólnie rzecz biorąc, DAX nie jest trudnym językiem, jak mogłoby się wydawać na pierwszy rzut oka, wystarczy tylko zrozumieć zasady jego działania. Różnica między formułami Excela a formułami DAX polega na tym, że w Excelu operujemy pojedynczymi komórkami i zakresami, a w DAX możemy odwoływać się tylko do całych tabel i ich kolumn.
Aby rozpocząć pracę z kodem DAX, potrzebujemy zainstalować PowerPivot dla Excel 2010 lub przejść do zakładki o tej samej nazwie w Excel 2013.
Podobnie jak w Excelu, funkcje DAX należą do określonych kategorii, a mianowicie:
W PowerPivot użytkownik może tworzyć pola obliczeniowe dwóch typów:
Te same formuły mogą zachowywać się inaczej, w zależności od tego, czy są używane w kolumnie obliczeniowej czy w miarze. Jeśli formuła jest używana w kolumnie obliczeniowej, jest ona stosowana do każdego wiersza kolumny w całej tabeli. Wartość może zależeć od kontekstu wierszy. W miarze wynik obliczeń jeszcze bardziej zależy od kontekstu. Oznacza to, że konstrukcja tabeli przestawnej oraz wybór nagłówków wierszy i kolumn wpływają na wartości używane w obliczeniach.
Czyli, innymi słowy, kiedy tworzymy Tabelę przestawną, to:
W języku DAX występuje również takie pojęcie jak kontekst, które jest bardzo ważne dla zrozumienia funkcjonowania formuł. Na formuły w PowerPivot mogą wpływać filtry zastosowane w tabeli przestawnej, relacje między tabelami oraz filtry obecne w formułach. Kontekst pozwala na wykonywanie dynamicznej analizy. Przy tworzeniu i rozwiązywaniu problemów z formułami ważne jest zrozumienie przeznaczenia kontekstu.
Zatem w DAX istnieją trzy typy kontekstu: kontekst filtra, kontekst wiersza oraz kontekst zapytania.
Kontekst filtra - to zestaw wartości dozwolonych w każdej kolumnie w zależności od ograniczeń filtra, które są stosowane do wiersza lub które są zdefiniowane przez kryteria filtra w formule.
Kontekst wiersza - faktycznie odpowiada pojęciu bieżącego wiersza. Jeśli stworzona jest kolumna obliczeniowa, to kontekstem wiersza są wartości w każdym pojedynczym wierszu oraz wartości w kolumnach powiązanych z bieżącym wierszem.
Kontekst zapytania - odnosi się do podzbioru danych, które są niejawnie tworzone dla każdej komórki tabeli przestawnej w zależności od nagłówków wiersza i kolumny w tabeli przestawnej (konstrukcji układu Tabeli przestawnej).