cognity

Język DAX - zastosowanie w analizie danych Excel Power BI

AX występuje w narzędziach, które pozwalają nam wykonać zadania biznesowe i nie tylko. Mowa tutaj o aplikacji Power BI (w której zobaczymy przykład; w tej aplikacji mamy do czyniena z językiem M oraz jeżykiem DAX), dodatku Powerpivot (w Excelu; w dodatku mamy dostęp do wyłącznie do języka DAX) oraz SQL Server Analisys Service. Dodatkowo umożliwia nam wykonywanie bardziej zaawansowanych analitycznych obliczeń.

01 lipca 2017
blog

Język DAX - praktyczne zastosowanie w analizie danych

Zostałem zaszczycony możliwością napisania artykułu. Ale cóż w nim mam napisać? Opisać mam DAX-a. Osoby lubujące się w nowinkach giełdowych pomyślą, że chodzi o niemiecki indeks a tu niespodzianka. Nie. To nie o to chodzi. Tym razem zabiorę Cię w podróż liczb oraz wizualizacji. Wcielmy się przez chwilę w prezesa firmy szkoleniowej, który chce odpowiedzi na najważniejsze pytanie: jaką kwotę brutto i netto uzyskała jego firma? W dodatku pan prezes chce mieć dostęp do raportów w każdym momencie, niezależnie od tego czy jest w podróży służbowej, czy na wakacjach na Karaibach. Niestety dane znajdują się w różnych lokalizacjach. Dane dotyczące sprzedaży są w Excelu, szkolenia są w pliku CSV, sprzedawcy są w pliku TXT. Czy jest coś co nas uratuje?

Tak. DAX – Data Analysis Expressions. Wyrażenia umożliwiające analizę danych.

Do wykonania poniższego ćwiczenia należy pobrać plik z danymi:

Dlaczego język DAX jest tak ważny?

Bo występuje w narzędziach, które pozwalają nam wykonać zadania biznesowe i nie tylko. Mowa tutaj o aplikacji Power BI (w której zobaczymy przykład; w tej aplikacji mamy do czyniena z językiem M oraz jeżykiem DAX), dodatku Powerpivot (w Excelu; w dodatku mamy dostęp do wyłącznie do języka DAX) oraz SQL Server Analisys Service. Dodatkowo umożliwia nam wykonywanie bardziej zaawansowanych analitycznych obliczeń.

Czy kojarzysz funkcje MID (FRAGMENT.TEKSTU), VLOOKUP (WYSZUKAJ.PIONOWO), SUM (SUMA)? Tak. To są funkcje Excelowe. W języku DAX mamy do czynienia z podobnymi funkcjami, dlatego zapraszam Cię do zapoznania się z praktycznym przykładem z językiem DAX w aplikacji np. Power BI (język DAX stosowany jest m. in. w dodatku Excela – Powerpivot). Pierwszym etapem jest pobranie danych do tzw. modelu danych. Model danych jest zbiorem zasad opisujących strukturę danych w bazie danych.

Z karty Narzędzia główne wybierz Excel. Wskaż plik, który chcesz zaimportować i zaakceptuj wybór. Pojawi się okno Nawigator z którego wybierz produkty i kliknij Załaduj.

Po prawej stronie pojawi się tabela produkty.

o zaimportowaniu danych z Excela, przyszedł czas na zaimportowanie pliku szkoleń. Na karcie Narzędzia główne wybierz Pobierz dane a później plik tekstowy lub CSV. Po wybraniu odpowiedniego pliku (szkolenia.csv) w oknie ujrzysz dane.

Kliknij na przycisk Załaduj. W oknie Pola będą dwie tabele produkty oraz szkolenia.

W oknie modelu będzie można zdefiniować jaka jest zależność między tabelami.

Na chwilę obecną istnieje relacja jeden do wielu między tabelami. To oznacza, że jeden rekord z tabeli szkolenia może być wielokrotnie wykorzystywany w tabeli produkty, natomiast jeden rekord w tabeli produkty odpowiada jednego rekordowi w tabeli szkolenia. Parafrazując, szkolenia mogą być sprzedawane wielokrotnie, natomiast jedna pozycja w tabeli produkty odpowiada tylko jednemu szkoleniu. To co jest najważniejsze, to zidentyfikowanie kolumn, które biorą udział w relacji. W tym przypadku mona określić relację na kilka sposobów. Pierwszym sposobem jest najechanie na relację, czyli linię łączącą tabelę produkty z tabelą szkolenia. Połączone kolumny zostaną wyróżnione.

W tym przypadku Power BI poprawnie określił relację między tabelami, ponieważ wartości w kolumnie Id w tabeli szkolenia są unikalne, natomiast kolumna Id szklenia w tabeli produkty zawiera wartości powtarzające się. Innym sposobem na sprawdzenie relacji jest wykorzystanie opcji Zarządzanie relacjami na karcie Narzędzia główne.

W tym miejscu można zdecydować, czy relacja ma być dostępna (aktywna), czy nie. Dodatkowo informacja dotycząca połączenia kolumn jest bardziej czytelna:

Obecnie mamy przygotowany model danych. Dzięki modelowi danych wiemy, jakie są zależności między tabelami. Dodatkowo, przy relacji jeden-do-wielu będziemy mogli wyciągnąć dane z jednej tabeli do drugiej.

W kolejnym kroku utworzona zostanie kolumna obliczeniowa, dzięki której poznamy wartość brutto dla danego wiersza w tabeli produkty. Przejdź do widoku danych.

Dodaj nową kolumnę (w tabeli produkty). Kliknij prawym przyciskiem myszy na dowolną kolumnę i wybierz opcję nowa kolumna.

Zostanie aktywowany pasek formuły wraz z domyślną nazwą kolumny.

Obliczymy w tym momencie wartość netto. Podobnie można obliczyć wartość brutto. Do obliczenia będzie potrzebna cena netto oraz ilość przeszkolonych osób. Ilość przeszkolonych osób jest w tabeli bieżącej (czyli tabeli produkty) pod nazwą Ilość. Cena netto jest w tabeli szkolenia co oznacza, że musimy pobrać dane z tabeli szkolenia. W związku z tym, że mamy nadaną relację między tabelą produkty i szkolenia, to możemy wykorzystać funkcję RELATED, która pobierze odpowiednią cenę. Zatem końcowa formuła wygląda następująco:

Po zaakceptowaniu formuły z pomocą przycisku Enter nowa kolumna zostanie wyświetlona w oknie Pola.

Przejdź do wizualizacji i wstaw kartę.

Po kliknięciu na kartę pojawi się ona na stronie.

Przeciągnij kolumnę Wartość netto na kartę. Dzięki tej operacji będzie można zobaczyć częściowo kwotę.

Po rozciągnięciu karty wygląda ona niekoniecznie estetycznie.

Dlatego po kliknięciu na kolumnę Wartość netto aktywuje się karta Narzędzia kolumn, na której należy zmienić liczbę miejsc dziesiętnych.

Podsumowując, zaletą języka DAX jest możliwość tworzenia od prostych do zaawansowanych formuł analitycznych. Dzięki modelowi łatwiej jest nam zrozumieć firmowe dane. Minusem języka DAX jest jego szybkość.

Jeśli jesteś zainteresowany jak:

  • obliczyć łączną wartość brutto,
  • obliczyć wartość brutto/netto wg sprzedawców, szkoleń lub innych kategorii
  • wyznaczyć najlepszych sprzedawców
  • tworzyć funkcjonalne raporty
  • nauczyć się wielu innych przydatnych rzeczy dla analityków, to zapraszamy na szkolenia Cognity, bo warto się uczyć! Pozdrawiam

Autorem artykułu jest Grzegorz Plak, trener Cognity.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments