Jak tworzyć kolumny w Power BI?
Power BI

Jak tworzyć kolumny w Power BI?

Kolumny w Power BI możemy tworzyć na dwa sposoby – za pomocą języka DAX lub w Power Query. Z artykułu dowiesz się, jak korzystać z obydwu metod.

Jak tworzyć kolumny w Power BI? DAX czy Power Query?

W Power BI możemy tworzyć kolumny na dwa sposoby:

  • w Power Query (graficznie lub przy użyciu języka M) – kolumny tworzone są na etapie przygotowania danych, jeszcze przed ich załadowaniem do modelu.

    Jest to rozwiązanie bardziej zalecane, gdyż pozwala na lepszą optymalizację i kompresję danych przez silnik VertiPaq. Dzięki temu model jest mniejszy i raporty działają szybciej.

  • za pomocą języka DAX – kolumny tworzone są wewnątrz gotowego modelu danych.

    Umożliwiają budowanie zaawansowanej logiki biznesowej, która może korzystać z relacji między tabelami np. pobieranie danych z innej tabeli funkcją RELATED(). Są jednak mniej wydajne niż kolumny z Power Query, gdyż słabiej się kompresują i zwiększają zużycie pamięci RAM przy dużych zbiorach danych.

Uwaga! Kolumny utworzone za pomocą formuł DAX w modelu danych, nie są widoczne po otwarciu tabeli w Power Query. Kolumny utworzone w Power Query są widoczne w modelu danych.

Power Query działa zanim silnik DAX zacznie przetwarzać dane. Edytor Power Query łączy się bezpośrednio ze źródłem np. Excelem, bazą danych i wykonuje zapytania. W tym momencie kolumny DAX jeszcze fizycznie nie istnieją – zostaną one obliczone dopiero po zamknięciu Power Query i odświeżeniu modelu.

Jak tworzyć kolumny w Power BI w DAX?

Kolumny obliczeniowe (ang. Calculated columns) w Power BI to dodatkowe kolumny, które dodajemy do istniejącej już tabeli w modelu danych. Tworzymy je za pomocą języka DAX (Data Analysis Expressions).

Cechy kolumn obliczeniowych:

  • obliczane są wiersz po wierszu – Power BI przechodzi przez każdy wiersz tabeli i wykonuje zdefiniowane działanie (nazywamy to kontekstem wiersza)
  • przechowywane są w pamięci RAM – w przeciwieństwie do miar, kolumny obliczeniowe są zapisywane w modelu danych. Oznacza to, że zwiększają rozmiar pliku .pbix i zajmują pamięć RAM
  • obliczane są podczas odświeżania – wartości w kolumnie są wyliczane tylko raz w momencie ładowania lub odświeżania danych. Nie zmieniają się one dynamicznie, gdy użytkownik klika w filtry na raporcie.

Kolumn obliczeniowych używamy przeważnie do:

  • filtrowania – możemy utworzyć fragmentator oparty na nowej kategorii
  • grupowania – możemy podzielić dane na grupy np. wiek na przedziały: „młody”, „senior”
  • wyliczania nowych wartości opartych na innych kolumnach
  • tworzenia relacji – tworzymy unikalny klucz do połączenia dwóch tabel.

Jak utworzyć nową kolumnę w Power BI?

Do tworzenia kolumn obliczeniowych będziemy wykorzystywać dane ze skoroszytu OrderDetails.xlsx.

Możesz je pobrać z naszej strony Dane Power BI. Dane w skoroszycie OrderDetails.xlsx pochodzą z bazy Northwind stworzonej przez firmę Microsoft.

Aby utworzyć kolumnę obliczeniową będąc w widoku tabeli:

  • kliknij dowolną kolumnę w tabeli, aby pojawiła się karta kontekstowa Narzędzia kolumn (Column tools). W przykładzie zaznaczam kolumnę ProductID
  • kliknij kartę Narzędzia kolumn (Column tools)
  • kliknij ikonę Nowa kolumna (New column)

Pojawi się wówczas pasek formuły, w którym możemy wpisać nazwę nowej kolumny oraz formułę w języku DAX, za pomocą której zostaną zrobione wyliczenia w nowej kolumnie.

Power BI tworzenie kolumny obliczeniowej

W przykładzie poniżej:

  • podaję SalesAmount jako nazwę nowej kolumny, w której przemnożę wartość z kolumny Quantity (ilość) przez wartość z kolumny UnitPrice (cena jednostkowa)
  • zaczynam pisać nazwę kolumny Quantity i jak pojawi się podpowiedź, klikam ją. W podpowiedzi jest nazwa tabeli (OrderDetails), z której pochodzi kolumna oraz w nawiasie kwadratowym nazwa kolumny. Nazwa tabeli jest potrzebna, gdyż w różnych tabelach może wystąpić kolumna o takiej samej nazwie.
  • podaję znak mnożenia (*)
  • wybieram kolumnę UnitPrice
  • klikam Enter

Tworzenie kolumny obliczeniowej w Power BI - mnożenie wartości

W przykładzie poniżej tworzymy nową kolumnę obliczeniową DeliveryTime (czas dostawy), w której wyliczamy ile dni minęło pomiędzy datą zamówienia (OrderDate) a datą wysyłki (ShippedDate). Do zrobienia wyliczeń używamy formuły DATEDIFF() języka DAX.

Po wpisaniu nazwy formuły wyświetla się jej składnia:

Wyświetlenie składni formuły DAX w Power BI

Funkcja DATEDIFF() wymaga trzech argumentów:

  • daty początkowej
  • daty końcowej
  • interwału, w którym policzymy różnicę np. dni

Funkcja:

DeliveryTime = DATEDIFF(Orders[OrderDate],Orders[ShippedDate],DAY)

Aby wyświetlić funkcję, należy zaznaczyć kolumnę, która została za pomocą tej funkcji utworzona. Kolumnę możemy zaznaczyć klikając jej nagłówek w widoku tabeli lub jej nazwę w panelu danych.

Power BI funkcja DATEDIFF()

Jak zmienić nazwę kolumny w Power BI?

Uwaga! Przed zmianą nazwy kolumny warto sprawdzić, jakie raporty i wizualizacje z niej korzystają. Po zmianie warto sprawdzić, czy wizualizacje i raporty się nie popsuły.

Aby zmienić nazwę kolumny obliczeniowej w Power BI:

  • kliknij jej nazwę w pasku formuły i wpisz nową nazwę lub
  • kliknij trzy kropki z prawej strony kolumny w panelu danych, wybierz opcję Rename (Zmień nazwę), podaj nową nazwę i kliknij Enter.

Power BI zmiana nazwy kolumny

Możesz zmieniać nazwy kolumn obliczeniowych oraz nazwy kolumn, które zostały zaimportowane.

Po zmianie nazwy kolumny w panelu danych zmienia się również jej nazwa w wizualizacjach, w których kolumna ta została użyta, jeśli w samej wizualizacji nazwa kolumny nie została wcześniej ręcznie nadpisana (tzw. alias na poziomie wizualizacji).

Nazwę kolumny najłatwiej zmienić dwukrotnie klikając lewym przyciskiem myszy bezpośrednio na nagłówek kolumny.

Jak otworzyć Power Query w Power BI?

Power Query to narzędzie do pobierania, łączenia i przekształcania danych, wbudowane w programy Microsoft Excel i Power BI.

Aby otworzyć Power Query w programie Power BI, na karcie Narzędzia główne (Home) klikamy ikonę Przekształć dane (Transform data).

Otwieranie Power Query w programie Power BI

Tworzenie kolumny niestandardowej w Power Query

W przypadku kolumny niestandardowej (Custom Column) ręcznie wpisujemy wyrażenie w języku M.

Aby utworzyć kolumnę niestandardową w Power Query:

  • kliknij kartę Dodaj kolumnę (Add Column)
  • wybierz Kolumna niestandardowa (Custom Column)
  • w oknie, które się pojawi, wpisz nazwę nowej kolumny np. DeliveryTime (czas dostawy)
  • w polu formuły wpisz Duration.Days([ShippedDate] - [OrderDate]). Wpisane wyrażenie jest fragmentem języka M.
  • kliknij przycisk OK

Tworzenie kolumny niestandardowej w Power Query

Po utworzeniu kolumny w oknie Zastosowane kroki (Applied steps) pojawia się krok zawierający operację dodania kolumny. Po kliknięciu tego kroku lub nazwy kolumny zobaczymy kod w języku M, za pomocą którego kolumna została utworzona.

Kolumna niestandardowa w Power Query

Warto zwrócić uwagę na:

  • format danych – obydwie kolumny (OrderDate i ShippedDate) powinny mieć ustawiony typ danych jako Data lub Data/Godzina. Jeśli są ustawione jako „Tekst”, odejmowanie nie zadziała.
  • wartość specjalną null – jeśli w którejś komórce brakuje daty, wynikiem odejmowania będzie null

Tworzenie kolumny warunkowej w Power Query

Kolumna warunkowa (Conditional Column) w Power Query to odpowiednik instrukcji IF/ELSE. Definiujemy warunki i przypisujemy wartości w zależności od spełnienia kryteriów np. jeśli wartość w kolumnie Sprzedaż jest większa niż 1000, wpisz 'Wysoka’, w przeciwnym razie wpisz 'Niska’

Aby utworzyć kolumnę warunkową:

  • kliknij kartę Dodaj kolumnę (Add Column)
  • wybierz Kolumna warunkowa (Conditional Column)
  • podaj nazwę nowej kolumny – w przykładzie podajemy nazwę DeliveryOption (opcja dostawy)
  • wybierz kolumnę, dla której chcemy sprawdzać, czy warunek został spełniony – w przykładzie wybieramy kolumnę ShipVia
  • wybierz operator np. równy, różny – w przykładzie wybieramy operator equals (równy)
  • podaj warunek, który ma zostać spełniony – w przykładzie sprawdzamy, czy wartość w kolumnie ShipVia równa się 1
  • podaj wartość, która ma zostać wstawiona, jeśli warunek został spełniony – w przykładzie, jeśli w kolumnie ShipVia będzie wartość 1, wstawiony zostanie tekst „standardowe”. Jeśli warunek nie zostanie spełniony wstawiony zostanie tekst „premium”.

Tworzenie kolumny warunkowej w Power Query

Po utworzeniu kolumny w oknie Zastosowane kroki (Applied steps) pojawia się krok zawierający operację dodania kolumny. Po kliknięciu tego kroku zobaczymy kod w języku M, za pomocą którego kolumna została utworzona.

Kolumna warunkowa w Power Query

Aby dodać kolejny warunek:

  • kliknij opcję Add Clause
  • w części Else If wybierz kolumnę, dla której ma być zrobione sprawdzenie i podaj wartość, która ma zostać wstawiona, jeśli warunek jest spełniony. W przykładzie sprawdzamy, czy w kolumnie ShipVia jest wartość 2. Jeśli warunek zostanie spełniony, wstawiona będzie wartość „ekspresowe”
  • kliknij przycisk OK

Kolumna warunkowa w Power Query drugi warunek

Po utworzeniu kolumny w oknie Zastosowane kroki (Applied steps) pojawia się krok zawierający operację dodania kolumny. Po kliknięciu tego kroku lub nazwy kolumny zobaczymy kod w języku M, za pomocą którego kolumna została utworzona.

Kolumna warunkowa w Power Query - dwa warunki

Jak zduplikować kolumnę w Power Query?

Aby utworzyć kopię (duplikat) kolumny w Power Query:

  • kliknij nagłówek kolumny
  • kliknij prawy przycisk myszy
  • wybierz opcję Duplikuj kolumnę (Duplicate Column)

Jak zrobić kopię kolumny w Power Query?

Opcja ta tworzy identyczną kopię zaznaczonej kolumny. Najczęściej używamy jej, gdy chcemy zachować oryginalne dane w jednej kolumnie, a na jej kopii przeprowadzić przekształcenia np. zmienić typ danych.

Barbara Lelusz

Analityk biznesowy
Udostępnij wpis: udostępnij Facebook udostępnij Linkedin udostępnij e-mail
Podobne artykuły z kategorii: Power BI

Może Cię zainteresować