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.
Tworzenie kolumny obliczeniowej z wartościami z powiązanych tabel
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ą.
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.
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.
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 (=).
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.
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.
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.
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.
Wprowadź nawias otwierający ([), a następnie wybierz kolumnę [ProductSubcategory], aby zakończyć formułę.
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).
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.
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.
Wybierz lub przeciągnij kolumnę ProductFullCategory z tabeli ProductSubcategory na kanwę raportu, aby utworzyć tabelę zawierającą wszystkie nazwy ProductFullCategory.
Wybierz lub przeciągnij pole SalesAmount z tabeli Sales do tabeli, aby wyświetlić wartość SalesAmount dla każdego produktuFullCategory.
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".
Utwórz nową kolumnę obliczeniową w tabeli Stores i nadaj jej nazwę Active StoreName na pasku formuły.
= Po znaku rozpocznij wpisywanie ciągu IF. Lista sugestii będzie zawierać informacje, które można dodać. Wybierz pozycję IF.
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].
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.
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.
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.
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.
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.
Powiązana zawartość
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: