Zastosowanie języka DAX w analizie danych
W ostatnich latach zaszło sporo zmian w arkuszu kalkulacyjnym Microsoft Excel, a wszystko dzięki stworzeniu dodatków BI (Business Intelligence). Nie dość, że ułatwiają proces pobierania i przekształcania danych (Power Query), to jeszcze pozwalają budować modele danych (Power Pivot), a następnie prezentować je z użyciem Power Map czy Power View. To wszystko sprawia, że nasza praca staje się o wiele ciekawsza, a jednocześnie może być bardziej zoptymalizowana.
Budowanie modeli danych w Power Pivot pozwala użytkownikowi na pracę z naprawdę dużymi ilościami informacji. Możemy je przetwarzać, przeliczać, analizować, a następnie prezentować chociażby w postaci raportu tabeli przestawnej. W modelu danych możemy również dodawać kolumny obliczeniowe oraz tzw. miary. Wszystko to realizujemy z użyciem języka DAX (Data Analysis Expressions).
Dla wielu użytkowników Excela język DAX wydaje się czymś niesamowicie trudnym do zrozumienia i nauczenia, co w praktyce nie jest prawdą. Owszem, trzeba zwrócić uwagę na fakt, iż tworząc formuły w tym języku, odwołujemy się do całych kolumn, a nie do komórek, jak to miało miejsce w przypadku pisania standardowych formuł w Excelu. Ponadto sporo funkcji znanych z Excela istnieje w języku DAX i ma taką samą lub nieco zmienioną składnię.
Zanim przejdziemy do omawiania różnic pomiędzy kolumnami obliczeniowymi a miarami, chciałbym zwrócić jeszcze uwagę na kilka aspektów związanych z użyciem języka DAX.
Przede wszystkim każdą formułę będziemy rozpoczynać od znaku równości (=) tak samo, jak to miało miejsce przy tworzeniu formuły w Excelu. Kolejne podobieństwo odnosi się do zastosowania operatorów arytmetycznych i logicznych. Są identyczne.
Jeżeli będziemy tworzyć bardziej rozbudowane formuły w Power Pivot, to nic nie stoi na przeszkodzie, aby je zagnieżdżać np. w przypadku budowania złożonej formuły weryfikującej spełnienie wielu różnych kryteriów.
Jak już wcześniej wspominałem, pisząc formuły w języku DAX, odwołujemy się do całych kolumn, a nie konkretnych komórek. W takim przypadku nazwy kolumn umieszczamy w nawiasach kwadratowych, np. [Sprzedaż] czy [Koszty wysyłki]. Jeżeli tworzona formuła odwołuje się do kolumny lub miary umieszczonych w tej samej tabeli, to możemy pominąć jej nazwę. W przeciwnym razie przed nazwą kolumny umieszczamy dodatkowo nazwę tabeli. Jeśli zawiera ona spację, zaczyna się od cyfry lub jest tzw. słowem zarezerwowanym, np. Suma, to w takim przypadku musi być umieszczona pomiędzy pojedynczymi cudzysłowami, np. ‘Transakcje 2018’[Sprzedaż].
Kolumny obliczeniowe
Kolumna obliczeniowa znajdzie zastosowanie zawsze wtedy, gdy zajdzie potrzeba przypisania wartości do każdego wiersza w konkretnej tabeli modelu danych. W takim przypadku mówimy o wyrażeniu w języku DAX operującym w kontekście bieżącego wiersza tabeli.
Do raz utworzonej kolumny obliczeniowej możemy następnie odwoływać się w raporcie tabeli przestawnej, umieszczając ją w obszarach wierszy, kolumn, filtrów. Możemy ją również wykorzystać we fragmentatorach połączonych z konkretną tabelą przestawną.
Co ważne, zdefiniowana kolumna obliczeniowa może być użyta do skonstruowania kolejnej kolumny obliczeniowej lub miary w analizowanym modelu danych.
Pracując z ogromnymi ilościami danych, warto również mieć świadomość, jak takie kolumny są obliczane i jaki mają wpływ na wielkość pliku. Otóż w przypadku kolumn obliczeniowych są one wyliczane podczas przetwarzania bazy danych, a następnie ich wyniki są przechowywane w modelu danych. Tym samym mają bezpośredni (negatywny) wpływ na rozmiar pliku.
Innymi słowy, każda dodatkowa kolumna obliczeniowa powoduje, że plik staje się coraz większy. Co w takim przypadku? Cóż, sugeruje się wykonanie niektórych obliczeń jeszcze na etapie czyszczenia i przygotowywania danych w Power Query, ewentualnie zastosowanie miar tworzonych już z poziomu Power Pivot.
Wykorzystałeś swój limit bezpłatnych treści
Pozostałe 70% artykułu dostępne jest dla zalogowanych użytkowników portalu. Zaloguj się, wybierz plan abonamentowy albo kup dostęp do artykułu/dokumentu.