Samouczek: tworzenie kolumn obliczeniowych w programie Power BI Desktop

Czasami analizne dane nie zawierają określonego pola, które należy uzyskać, aby uzyskać żądane wyniki. Kolumny obliczeniowe są przydatne w tej sytuacji. Kolumny obliczeniowe używają formuł języka DAX (Data Analysis Expressions), aby zdefiniować wartości kolumny. To narzędzie jest przydatne w przypadku dowolnego elementu, od łączenia wartości tekstowych z kilku różnych kolumn w celu obliczenia wartości liczbowej z innych wartości. Załóżmy na przykład, że dane zawierają pola City (Miasto) i State (Stan), ale chcesz mieć jedno pole Location (Lokalizacja), które ma oba pola, takie jak "Miami, FL".

Kolumny obliczeniowe są podobne do miar , w których obie są oparte na formułach języka DAX, ale różnią się sposobem ich użycia. Często używasz miar w obszarze Wartości wizualizacji, aby obliczyć wyniki na podstawie innych pól. Kolumny obliczeniowe są używane jako nowe pola w wierszach, osiach, legendach i obszarach grup wizualizacji.

Ten samouczek przeprowadzi Cię przez zrozumienie i utworzenie niektórych kolumn obliczeniowych oraz użycie ich w wizualizacjach raportów w programie Power BI Desktop.

Wymagania wstępne

  • Ten samouczek jest przeznaczony dla użytkowników usługi Power BI zaznajomionych już z używaniem programu Power BI Desktop do tworzenia bardziej zaawansowanych modeli. Musisz już wiedzieć, jak używać funkcji Pobierz dane i Edytor Power Query do importowania danych, pracy z wieloma powiązanymi tabelami i dodawania pól do kanwy raportu. Jeśli dopiero zaczynasz korzystać z programu Power BI Desktop, zapoznaj się z tematem Wprowadzenie do programu Power BI Desktop.

  • W tym samouczku użyto przykładu Contoso Sales Sample dla programu Power BI Desktop, który został użyty do samouczka Tworzenie własnych miar w programie Power BI Desktop . Te dane sprzedaży fikcyjnej firmy Contoso, Inc. zostały zaimportowane z bazy danych. Nie będzie można nawiązać połączenia ze źródłem danych ani wyświetlić go w Edytor Power Query. Pobierz i wyodrębnij plik na własnym komputerze, a następnie otwórz go w programie Power BI Desktop.

W raporcie sprzedaży chcesz wyświetlić kategorie produktów i podkategorie jako pojedyncze wartości, takie jak "Telefony komórkowe – Akcesoria", "Telefony komórkowe – Smartfony i PDA" itd. Na liście Pola nie ma pola, które udostępnia te dane, ale istnieje pole ProductCategory i pole ProductSubcategory, z których każda znajduje się we własnej tabeli. Możesz utworzyć kolumnę obliczeniową, która łączy wartości z tych dwóch kolumn. Formuły języka DAX mogą korzystać z pełnej mocy posiadanego modelu, w tym relacji między różnymi tabelami, które już istnieją.

Zrzut ekranu przedstawiający kolumny na liście Pola.

  1. Aby utworzyć nową kolumnę w tabeli ProductSubcategory , kliknij prawym przyciskiem myszy lub wybierz wielokropek ... obok pozycji ProductSubcategory w okienku Pola , a następnie wybierz pozycję Nowa kolumna z menu.

    Zrzut ekranu przedstawiający pozycję Nowa kolumna w menu rozwijanym.

    Po wybraniu pozycji Nowa kolumna pasek formuły pojawi się w górnej części kanwy raportu, gotowy do nadenia kolumnie nazwy i wprowadzenia formuły języka DAX.

    Zrzut ekranu przedstawiający pasek formuły.

  2. Domyślnie nowa kolumna obliczeniowa ma nazwę Kolumna. Jeśli nie zmienisz nazwy, nowe kolumny będą mieć nazwę Kolumna 2, Kolumna 3 itd. Chcesz, aby kolumna była bardziej rozpoznawalna, więc gdy nazwa kolumny jest już wyróżniona na pasku formuły , zmień jej nazwę, wpisując ProductFullCategory, a następnie wpisz znak równości (=).

  3. Chcesz, aby wartości w nowej kolumnie rozpoczynały się od nazwy w polu ProductCategory . Ponieważ ta kolumna znajduje się w innej, ale powiązanej tabeli, możesz użyć funkcji RELATED , aby ją uzyskać.

    Po znaku równości wpisz r. Lista sugestii listy rozwijanej zawiera wszystkie funkcje języka DAX rozpoczynające się od litery R. Wybranie każdej funkcji przedstawia opis jej efektu. Podczas wpisywania lista sugestii jest skalowana bliżej potrzebnej funkcji. Wybierz pozycję RELATED (POWIĄZANE), a następnie naciśnij klawisz Enter.

    Zrzut ekranu przedstawiający pole RELATED wybrane na pasku formuły.

    Zostanie wyświetlony nawias otwierający wraz z inną listą sugestii powiązanych kolumn, które można przekazać do funkcji RELATED, z opisami i szczegółami oczekiwanych parametrów.

    Zrzut ekranu przedstawiający pozycję ProductCategory wybraną na pasku formuły dla funkcji Related.

  4. Chcesz, aby kolumna ProductCategory z tabeli ProductCategory . Wybierz pozycję ProductCategory[ProductCategory], naciśnij klawisz Enter, a następnie wpisz nawias zamykający.

    Napiwek

    Błędy składniowe są najczęściej spowodowane brakującymi lub błędnie zastąpionymi nawiasami zamykającymi, chociaż czasami program Power BI Desktop doda go za Ciebie.

  5. Chcesz, aby kreski i spacje oddzieliły elementy ProductCategories i ProductSubcategories w nowych wartościach, więc po nawiasie zamykającym pierwszego wyrażenia wpisz spację, ampersand (&), podwójny cudzysłów ("), spację, kreskę (-), kolejną spację, kolejny podwójny cudzysłów i kolejną ampersand. Formuła powinna teraz wyglądać następująco:

    ProductFullCategory = RELATED(ProductCategory[ProductCategory]) & " - " &

    Napiwek

    Jeśli potrzebujesz więcej miejsca, wybierz strzałkę w dół po prawej stronie paska formuły, aby rozwinąć edytor formuł. W edytorze naciśnij klawisze Alt + Enter , aby przejść w dół wiersza, a następnie klawisz Tab , aby przenieść elementy.

  6. Wprowadź nawias otwierający ([), a następnie wybierz kolumnę [ProductSubcategory], aby zakończyć formułę.

    Zrzut ekranu przedstawiający element ProductCategory wybrany dla formuły.

    Nie trzeba używać innej funkcji RELATED, aby wywołać tabelę ProductSubcategory w drugim wyrażeniu, ponieważ tworzysz kolumnę obliczeniową w tej tabeli. Możesz wprowadzić wartość [ProductSubcategory] z prefiksem nazwy tabeli (w pełni kwalifikowanym) lub bez (niekwalifikowanym).

  7. Wypełnij formułę, naciskając klawisz Enter lub wybierając znacznik wyboru na pasku formuły. Formuła sprawdza poprawność, a nazwa kolumny ProductFullCategory jest wyświetlana w tabeli ProductSubcategory w okienku Pola.

    Zrzut ekranu przedstawiający zakończoną kolumnę ProductFullCategory.

    Uwaga

    W programie Power BI Desktop kolumny obliczeniowe mają specjalną ikonę w okienku Pola pokazujące, że zawierają formuły. W usługa Power BI (witrynie usługi Power BI) nie ma możliwości zmiany formuł, więc kolumny obliczeniowe nie mają ikon.

Używanie nowej kolumny w raporcie

Teraz możesz użyć nowej kolumny ProductFullCategory , aby przyjrzeć się kolumnie SalesAmount by ProductFullCategory.

  1. Wybierz lub przeciągnij kolumnę ProductFullCategory z tabeli ProductSubcategory na kanwę raportu, aby utworzyć tabelę zawierającą wszystkie nazwy ProductFullCategory.

    Zrzut ekranu przedstawiający tabelę ProductFullCategory.

  2. Wybierz lub przeciągnij pole SalesAmount z tabeli Sales do tabeli, aby wyświetlić wartość SalesAmount dla każdego produktuFullCategory.

    Zrzut ekranu przedstawiający tabelę SalesAmount by ProductFullCategory.

Tworzenie kolumny obliczeniowej korzystającej z funkcji IF

Przykład Contoso Sales zawiera dane sprzedaży zarówno dla aktywnych, jak i nieaktywnych sklepów. Chcesz mieć pewność, że sprzedaż aktywnych sklepów jest wyraźnie oddzielona od nieaktywnej sprzedaży sklepów w raporcie, tworząc pole Active StoreName . W nowej kolumnie obliczeniowej Active StoreName każdy aktywny sklep będzie wyświetlany z pełną nazwą sklepu, podczas gdy sprzedaż dla nieaktywnych sklepów zostanie zgrupowana w jednym elemencie wiersza o nazwie Nieaktywne.

Na szczęście tabela Stores (Sklepy) zawiera kolumnę o nazwie Status (Stan) z wartościami "Włączone" dla aktywnych sklepów i "Wyłączone" dla nieaktywnych sklepów, których możemy użyć do utworzenia wartości dla nowej kolumny Active StoreName . Formuła języka DAX użyje funkcji logicznej IF, aby przetestować stan każdego magazynu i zwrócić określoną wartość w zależności od wyniku. Jeśli stan sklepu to "Włączone", formuła zwróci nazwę sklepu. Jeśli jest to "Wyłączone", formuła przypisze nazwę Active StoreName "Nieaktywne".

  1. Utwórz nową kolumnę obliczeniową w tabeli Stores i nadaj jej nazwę Active StoreName na pasku formuły.

  2. = Po znaku rozpocznij wpisywanie ciągu IF. Lista sugestii będzie zawierać informacje, które można dodać. Wybierz pozycję IF.

    Zrzut ekranu przedstawiający pozycję IF wybraną na pasku formuły.

  3. Pierwszy argument if to logiczny test tego, czy stan sklepu to "Włączone". Wpisz nawias otwierający [, który wyświetla kolumny z tabeli Stores i wybierz pozycję [Status].

    Zrzut ekranu przedstawiający pozycję Stan wybraną dla funkcji IF na pasku formuły.

  4. Bezpośrednio po [Status], wpisz ="On", a następnie wpisz przecinek (,), aby zakończyć argument. Etykietka narzędzia sugeruje, że teraz musisz dodać wartość, która ma zostać zwrócona, gdy wynik ma wartość TRUE.

    Zrzut ekranu przedstawiający pozycję Włączone dodane do formuły.

  5. Jeśli stan sklepu to "Włączone", chcesz wyświetlić nazwę sklepu. Wpisz nawias otwierający ([) i wybierz kolumnę [StoreName], a następnie wpisz inny przecinek. Etykietka narzędzia wskazuje teraz, że musisz dodać wartość, która ma zostać zwrócona, gdy wynik ma wartość FALSE.

    Zrzut ekranu przedstawiający kolumnę StoreName dodaną do formuły.

  6. Chcesz, aby wartość to "Nieaktywna", więc wpisz "Nieaktywna", a następnie uzupełnij formułę, naciskając klawisz Enter lub wybierając znacznik wyboru na pasku formuły. Formuła sprawdza poprawność, a nazwa nowej kolumny jest wyświetlana w tabeli Stores (Sklepy) w okienku Pola.

    Zrzut ekranu przedstawiający ukończoną formułę i kolumnę Active StoreName dodaną do okienka Pola.

  7. Możesz użyć nowej kolumny Active StoreName w wizualizacjach tak samo jak w przypadku dowolnego innego pola. Aby wyświetlić kolumnę SalesAmounts by Active StoreName, wybierz pole Active StoreName lub przeciągnij je na kanwę raportu, a następnie wybierz pole SalesAmount lub przeciągnij je do tabeli. W tej tabeli aktywne magazyny są wyświetlane indywidualnie według nazwy, ale magazyny nieaktywne są grupowane razem na końcu jako Nieaktywne.

    Zrzut ekranu przedstawiający tabelę SalesAmount by Active StoreName.

Zdobyta wiedzę

Kolumny obliczeniowe mogą wzbogacić dane i zapewnić łatwiejsze szczegółowe informacje. Wiesz już, jak tworzyć kolumny obliczeniowe w okienku Pola i pasku formuły, używać list sugestii i etykietek narzędzi, aby ułatwić konstruowanie formuł, wywoływanie funkcji języka DAX, takich jak RELATED i IF z odpowiednimi argumentami, oraz używanie kolumn obliczeniowych w wizualizacjach raportów.

Jeśli chcesz dokładniej zapoznać się z formułami języka DAX i utworzyć kolumny obliczeniowe z bardziej zaawansowanymi formułami, zobacz Podstawy języka DAX w programie Power BI Desktop. Ten artykuł koncentruje się na podstawowych pojęciach w języku DAX, takich jak składnia, funkcje i dokładniejsze zrozumienie kontekstu.

Pamiętaj, aby dodać odwołanie do języka DAX (Data Analysis Expressions) do ulubionych. W tym miejscu znajdziesz szczegółowe informacje na temat składni, operatorów języka DAX i ponad 200 funkcji języka DAX.

Inne interesujące artykuły: