NewDataLabS

Tableau - Narzędzia Business Intelligence

PL / EN
  • Wydarzenia
    • Webinary
      • Salesforce
      • Tableau
      • Power BI
    • Szkolenia Tableau
      • Szkolenia online
      • Szkolenia zamknięte
    • Szkolenia Power BI
      • Kurs Power BI online
  • Baza Wiedzy
    • Baza Wiedzy Tableau
    • Baza Wiedzy Power BI
    • Baza Wiedzy Salesforce
  • Blog
  • Kontakt
  • Rozwiązania
    • Tableau
    • Power BI
    • Salesforce
    • Snowflake
    • AI - Einstein Discovery
    • Amplitude
  • Usługi
    • Warsztaty Proof of Concept
    • Warsztaty CRM
    • ETL - przygotowanie danych
    • Hurtownie danych
    • Wdrożenia BI
    • Wdrożenia CRM
    • Migracje
      • Migracje CRM
      • Migracje systemów BI
    • Asysta eksploatacyjna
    • Embedded Analytics
    • Audyty Tableau
    • Szkolenia otwarte
      • Tableau
      • Power BI
    • Szkolenia zamknięte
      • Tableau
      • Salesforce
  • O firmie
    • O nas
    • Kariera
  • Klienci
    • Wybrani Klienci
    • Case Study

Praktyczne wykorzystanie języka w DAX w Power BI

9 czerwca 2022

Podstawowym językiem do budowy formuł w Power BI jest DAX. Umiejętne wykorzystanie tworzenia zapytań w połączeniu z zestawem standardowych wizualizacji pozwala na podniesienie jakości budowanych raportów. Atrakcyjność zyskujemy zarówno od strony ułatwienia analizy danych jak i od strony praktycznych możliwości wykorzystywania wizualizacji.

Wykorzystanie oraz rozwój kompetencji związanych z tworzeniem zapytań DAX można podzielić na kilka kluczowych kategorii. Poniżej wskazane są te, które pozwolą nam usystematyzować wiedzę w tym obszarze.

  • Budowa tabel
  • Wykorzystanie miar
  • Tworzenie zaawansowanych wizualizacji
  • Praca z parametrami
  • Formatowanie warunkowe

DAX- Tworzenie tabel

Pracę z raportem zaczynamy od przygotowania dobrego modelu danych. Dlatego też pierwszym wyodrębnionym zagadnieniem jest budowa tabel za pomocą formuł DAX. Najczęściej tworzona tabela pozwala na przygotowanie kalendarza i tutaj mamy dwie szkoły. Pierwsza zaleca skorzystanie z funkcji CALENDARAUTO. Jest to funkcja weryfikująca wszystkie kolumny typu data i wybierająca z nich minimalną oraz maksymalną datę jako zakres tworzonego kalendarza. Druga metoda pracy z kalendarzem pozwala nam doprecyzować zakres poprzez wykorzystanie funkcji CALENDAR. Funkcja ta pozwala na precyzyjne wskazanie jaki zakres czasu nas interesuje. Optymalne jest podanie jako minimum z kolumny z datą, a dokładniej rokiem, z tabeli faktów, za pośrednictwem której będziemy tworzyć relację oraz zamknąć tabelę wskazując koniec następnego roku, np.

CALENDAR(

DATE(YEAR(MIN(Tabela[Kolumna z datą])),1,1),

DATE(YEAR(TODAY())+1,12,31)

)

Zbudowany kalendarz następnie można rozbudować o kolejne kolumny, korzystając choćby z takich funkcji jak MONTH, YEAR, DAY, WEEKDAY, WEEKNUM itd.

Jak widać na powyższym przykładzie w kontekście jednej tabeli budowanej za pomocą DAX możemy mieć kilka dróg dojścia do oczekiwanego rezultatu. Elastyczność dostępnych formuł pozwala nam zdecydować jak bardzo precyzyjne ma być stworzone rozwiązanie.

Inne przydatne formuły do budowy tabel, np. z wymiarami to GROUPBY, SUMARAIZECOLUMN, CALCULATETABLE. Jeżeli zaś chcielibyśmy za pomocą DAX połączyć ze sobą kilka tabel możemy to zrobić za pomocą takich kalkulacji jak UNION, CROSSJOIN, NATURALINERJOIN, NATURALLEFTOUTERJOIN.

W kontekście ostatniej grupy kalkulacji, może pojawić się pytanie do czego możemy wykorzystać możliwość tworzenia zapytań DAX, których przygotowanie zalecane jest na etapie budowy źródła danych czy też przekształceń w Power Query. Odpowiedzią jest dokładniejsze zagłębienie się w to gdzie możemy korzystać z języka DAX. Mniej znanym obszarem wykorzystania zapytań DAX jest nie tylko praca bezpośrednio w Power BI. Również na etapie podłączeń niektórych źródeł danych. Istnieją typy źródeł danych, jak choćby SQL Server Analysis Services, gdzie zamiast tworzenia formuł za pomocą MDX możemy skorzystać z DAX.

dax

Kolejnym sposobem wykorzystania funkcji tabelarycznych jest wstawienie ich jako tabel tymczasowych. Są one wyliczane wewnątrz miary, np. celem policzenia TOPN elementów. Takie wykorzystanie tabel w miarach w połączeniu z filtrami pozwala na szerokie i przede wszystkim wydajne przygotowanie wyliczeń. Bez tworzenia dodatkowych tabel i zarządzania relacjami między nimi.

DAX- Budowa miar

Kolejny obszar, w którym wykorzystujemy zapytania DAX to tworzone miary. W przypadku miar Power BI przygotował zestaw tzw. miar domyślnych. Pozwalają na szybkie przygotowanie podstawowych przeliczeń jako choćby porównań YTD czy YoY. Największą zaletą szybkich miar jest to, że pozwalają osobom, które dopiero zaczynają swoją przygodę z narzędziem budować przeliczenia poprzez interfejs graficzny bez znajomości DAX.

dax interfejs

Po wstępnym poznaniu szybkich miar zwykle przychodzi głód wiedzy i wtedy warto skorzystać ze szkolenia w tym zakresie. Warto samemu móc wyodrębnić najważniejsze formuły z całej listy dostępnych kalkulacji, których są dziesiątki. Najistotniejsze funkcje to te, które pozwalają wpływać na zmianę kontekstu filtrów.

Budowa zaawansowanych wizualizacji

Połączenie miar oraz tabel przygotowanych w DAX pozwala nam przenieść raporty na wyższy poziom związany z rozbudową standardowych wizualizacji. Warte wskazania jest chociażby przebudowanie macierzy tak by powstał z niej wykres typu Waffle Chart.

waffle chart power bi

Macierz jako wizualizacja domyślna, dostępna w Power BI, jest bardzo wdzięcznym obiektem. Pozwala na tworzenie zarówno drabinek, na wzór rozgrywek sportowych, jak i kalendarzy prezentujących natężenie np. wykorzystania urlopów.

power bi macierz
power bi kalendarz

Kolejnym typem wizualizacji wartym wyodrębnienia jest Macierz BCG zbudowana poprzez dynamiczne zarządzaniem osiami w wykresie punktowym.

macierz bcg power bi

Tworzenie parametrów, zmiany w domyślnie utworzonych formułach DAX

Podczas pracy z Power BI warto korzystać z parametrów. Do niedawna dostępny był jeden typ parametru, czyli parametr wartościowy. Rozwiązanie to pozwalało przede wszystkim na tworzenie analiz typu What IF. Największą zaletą wykorzystania parametru wartościowego jest to, że to użytkownik końcowy wpisuje do raportu określone założenia. Obecnie dodany został parametr typu „pola”, który jest parametrem tekstowym odnoszącym się do wykorzystywanych w raporcie miar oraz wymiarów.

power bi parametr wartościowy

Parametry dodawane są automatycznie, natomiast znajomość zapytań DAX pozwala nam wprowadzać w nich zmiany po tym jak zostaną już stworzone.

W przypadku parametru wartościowego poprzez ingerencje w funkcje GENERATESERIES, możemy zmienić ustawione na etapie tworzenia parametru właściwości takie jak zakres wartości oraz minimalny przedział. Na poniższym screanie widzimy, ekran z budową parametru oraz formułę, która odzwierciedla tabele, na której bazuje przygotowany parametr. Na fioletowo zaznaczyłem maksymalna wartość, którą ręcznie skorygowałem już po dodaniu parametru. Pozwoliło to na zwiększenie maksymalnej możliwości do wprowadzenia wartość do pola z parametrem.

power bi pole parametru

Nowa opcja w Power BI, czyli parametr tekstowy również korzysta z formuły DAX, którą możemy następnie edytować. Właśnie możliwość wprowadzania zmian powoduje, że mamy wpływ na nazwy oraz przede wszystkim możemy dodawać kolejne pola, kopiując ostatnią linijkę i podmieniając nazwę pola oraz powiązaną z nim miarę, na końcu doprecyzowując kolejność miary w utworzonej liście.

power bi parametr

Na poniższym przykładzie zostało zaprezentowane praktyczne wykorzystanie połączenia dwóch parametrów typu text. W pierwszej kolejności zaprezentowana została Ilość sprzedaży w układzie miesięcznym. Następnie tabela oraz wykres zostały za pomocą parametrów przełączone na miarę Realizacja Targetu ilości sprzedaży w układzie kwartalnym. Niezwykle pomocne przy korzystaniu z parametrów typu pola jest to, że w wykresach wykorzystywane jest właściwe formatowanie. Nie można było tego wykonać za pomocą wcześniejszego rozwiązania bazującego na funkcji SWITCH nie dało się osiągnąć choćby dla wykresu liniowegoi.

power bi wykres liniowy
wykres liniowy power BI

Formatowanie warunkowe za pomocą DAX

Pisząc o DAX nie sposób nie wspomnieć o możliwości zarządzania kolorystyką oraz wykorzystanymi ikonami z poziomu formuł. W formułach możemy przygotować warunek, który będzie zmieniać kolorystykę. Dokonujemy tego poprzez podanie nazwy koloru w języku angielskim. Innym rozwiązaniem jest wskazanie zapisu RGB dowolnego koloru, zgodnego z przyjętą do raportu paletą barw.

Kolejnym poziomem związanym z formatowaniem jest możliwość zmiany ikony prezentowanej np. pod wskaźnikiem KPI, za pomocą funkcji UNICHAR. Rozwiązanie to pozwala nam korzystać z dowolnych ikon. Spośród setek predefiniowanych ikon z przypisanymi wartościami numerycznymi, które wpisujemy podczas tworzenia formuły.

power bi wykres zysku

Podsumowanie

W powyższym artykule udało się wyodrębnić kluczowe obszary związane z wykorzystaniem formuł przygotowywanych w DAX. Możliwości tworzenia są bardzo szerokie i często głównym ograniczeniem jest nasza wyobraźnia. Dużą zaletą jest elastyczność formuł oraz zestaw miar. Zostały przygotowane tak, aby osoby zaczynające przygodę z wizualizacjami, nawet bez znajomości DAX były w stanie przygotować podstawowe kalkulacje i tworzyć w pełni funkcjonalne raporty. W kolejnych artykułach będziemy szerzej opisywać wyodrębnione grupy kalkulacji.

Michał Niewiadomski Power BI Team Manager

webinarium tableau Pobierz trial Tableau Desktop >
Pobierz trial Tableau Prep >
Wydarzenia
> Konferencja Tableau MBA
> Konferencja użytkowników Power BI
Webinary
> Webinary Salesforce
> Webinary Amplitude
> Webinary Tableau
> Webinary Power BI

Szkolenia Tableau
Szkolenia Power BI
ETL
> Tableau Prep
> Airflow
> Power Query
> Microsoft Integration Services
Hurtownie danych
> Snowflake
> Google BigQuery
> Microsoft SQL Server
> PostgreSQL
Business intelligence
> Tableau
> Salesforce
> Power BI
Analityka internetowa
> Amplitude
Salesforce
> Zarządzanie relacjami z Klientami
> Sprzedaż
> Zarządzanie szansami sprzedaży
> Analiza Business Intelligence
> Salesforce Manufacturing Cloud
> Salesforce Service Cloud
> Salesforce Marketing Cloud
Kontakt

kontakt@newdatalabs.com
kontakt@newdatalabs.com


601797783
781 648 194


Adres
Adres do korespondencji:
al. T. Boy’a – Żeleńskiego 26,
51-160 Wrocław

Copyright © 2025