Wyświetlanie wybranych wartości z fragmentatora przy użyciu DAX

Zapewne korzystasz z fragmentatorów (ang. slicerów), żeby umożliwić Użytkownikowi filtrowanie danych na podstawie wartości, które go interesują. Dzięki temu raport jest bardziej dynamiczny, umożliwia interakcję.

Często jest tak, że masz wiele opcji do wyboru. Można się w nich zgubić, prawda?
Dzisiaj pokażę Ci jak stworzyć miarę, która będzie prezentowała informację o tym, jakie wartości zostały wybrane na fragmentatorach. Do dzieła! To kolejny artykuł z serii Tips & Tricks w Power BI. Wcześniej pisałem o przydatnych skrótach klawiszowych, jeśli nie czytałeś, zajrzyj tu.

Nasz model

Dla uproszczenia, nasz model składa się z tabeli faktowej dotyczącej sprzedaży oraz kilku wymiarów: Kalendarz, Klienci i Produkty. Dla przypomnienia, tabela faktowa zawiera metryki np. Wartość Sprzedaży oraz klucze do wymiarów. Z kolei wymiary to tabele opisujące te metryki, zawierające atrybuty. Między tabelą wymiaru, a tabelą faktu budowana jest relacja na zasadzie 1 do wielu. W wymiarze mamy np. unikalnych klientów i klucze, które jednoznacznie identyfikują tych klientów. Z kolei po stronie faktów mamy klucze do wymiarów np. KlientID i metryki/ miary/ liczby. Jeden klient może dokonać u nas zakupu wielokrotnie, dlatego tabela faktowa jest stroną wiele w tej relacji.

Wróćmy jednak do naszego przykładu.

W moim przykładzie mam miarę Sprzedaż Total, która wyliczana jest w następujący sposób:

Sprzedaż Total = SUM( 'Sprzedaż'[Wielkość sprzedaży] )

Dodałem też kilka fragmentatorów (ang. slicerów) w oparciu o atrybuty wymiarów. W moim przypadku są to: ‘Kalendarz’[Rok], ‘Produkty’[Kategoria produktu], ‘Klienci’[Województwo].

Raport prezentuje się w następujący sposób.

Miara pokazująca wynik wyboru opcji z fragmentatorów

Przejdźmy teraz do budowania miary, która pozwoli nam zaprezentować wszystkie wartości, które Użytkownik wybrał przy użyciu fragmentatorów.

W kolejnym kroku wybieram kilka opcji z fragmentatorów.

Następnie tworzę miarę DAX’ową, której kod będzie wyglądał w następujący sposób:

Wybrane Atrybuty =
VAR _WybraneKategorieProduktu =
CONCATENATEX ( VALUES ( Produkty[Kategoria produktu] ), Produkty[Kategoria produktu], „, ” )
VAR _WybraneWojewodztwa =
CONCATENATEX ( VALUES ( Klienci[Województwo] ), Klienci[Województwo], „, ” )
VAR _WybraneLata =
CONCATENATEX ( VALUES ( Kalendarz[Rok] ), Kalendarz[Rok], „, ” )
RETURN
„Kategorie produktu: ” & IF(ISBLANK(_WybraneKategorieProduktu), „Brak wyboru”, _WybraneKategorieProduktu) & UNICHAR(10) &
„Województwa: ” & IF(ISBLANK(_WybraneWojewodztwa), „Brak wyboru”, _WybraneWojewodztwa) & UNICHAR(10) &
„Lata: ” & IF(ISBLANK(_WybraneLata), „Brak wyboru”, _WybraneLata)

Do zmiennych (VAR) przypisuję sobie wynik wyboru odpowienich fragmentatorów.

RETURN zwraca nasz wynik. Wszystkie te wartości są zwracane jako jeden tekst, w którym:
Każda grupa danych jest opisana, np. „Kategorie produktu:”,

Każda grupa danych (kategorie, województwa, lata) jest umieszczona w nowej linii dzięki UNICHAR(10).

Końcowy efekt wygląda w poniższy sposób. Stworzoną miarę używam z wizualizacją typu karta.

Co muszę zrobić, żeby miara zadziałała u mnie?

Zacznij od skopiowania formuły miary [Wybrane Atrybuty].

W mierze znajdziesz odwołania do tabel i kolumn takich jak Produkty[Kategoria produktu], Klienci[Województwo] oraz Kalendarz[Rok], dostępnych w ramach mojego modelu. Zamień te nazwy na odpowiednie nazwy tabel i kolumn ze swoich fragmentatorów, ze swojego modelu.

W mierze są też fragmenty tekstu, np. „Kategorie produktu:”, „Województwa:”, „Lata:”. Możesz oczywiście zmienić te etykiety, żeby odpowiadały Twoim obiektom i Twojemu rozwiązaniu.

W ostatnim kroku użyj miary [Wybrane Atrybuty] np. na wizualizacji typu karta.

Gotowe!

Podsumowanie

Fragmentatory są bardzo często używane w raportach. Dzięki temu Użytkownicy rozwiązań mogą sobie filtrować dane w wybrany przez siebie sposób, dzięki czemu zyskują dużą elastyczność w analizie.

W raportach często istnieje kilka fragmentatorów, które mają opcje wielokrotnego wyboru. Myślę, że ciekawą i dobrą formą na prezentację Użytkownikowi opcji z fragmentatora, które wybrał jest skorzystanie z miary, która jest przedmiotem naszego artykułu. Myślę, że to dobre rozwiązanie, a z doświadczenia wiem, że jest przydatne i cenione przez Użykowników, zwłaszcza, gdy na raporcie mamy wiele opcji wyboru.

Daj znać, czy planujesz skorzystać z takiego rozwiązania i co o nim myślisz!

Dane są wszędzie, wiesz?

Zapisz się, jeśli interesujesz się Power BI'em i danymi. Co jakiś czas odezwę się z ciekawymi materiałami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Komentarze (2)

Cześć, a czy mógłbyś dołączać plik z danymi wyjściowymi aby można było sobie czytając wykonywać to o czym napisałeś ?