PowerBI_TooltipsiPodgladDanych

Power BI – Tooltips oraz podgląd danych pod wizualizacją

Kontynuujemy serię artykułów o Power BI. Tym razem powiemy sobie o nowej funkcjonalności o wszystko mówiącej nazwie tj “Tooltip”. Powiemy sobie również o tym jak zobaczyć jakie dane złożyły się na określoną
wizualizację – zapraszam do lektury.

Zaczniemy od Tooltipów – jest to świeża sprawa ponieważ pojawiła się w aktualizacji Marzec 2018. Pozwala ona na wyświetlenie całej strony danych jak Tooltipa do wizualizacji. Nie było by w tym nic specjalnego gdyby nie fakt, że strona ustawiona jako tooltip jest interaktywna i będzie dostosowana do bieżącego kontekstu! Myślę, że będzie to nieco jaśniejsze na konkretnym przykładzie. Do celów demonstracji użyłem AdventureWorksDW2017, a mój model przedstawia się następująco:

Na podstawie przedstawionych powyżej danych stworzyłem bardzo prosty wykres składający się z:

  • DimProductCategory[EnglishProdutCategory]
  • FactInternetSales[Quantity]

Standardowo po najechaniu na słupki takiego wykresu zobaczymy szczegóły już wizualizowanych danych:

Mamy wpływ na to co się wyświetla w menu kontekstowym, na zakładce Fields wykresu mamy sekcję Tooltips – przeciągnijmy tam pole EnglishProduct Subcategory z tabeli DimProductSubcategory:

Ciekawą rzeczą może być słowo First, które wskazuje, że zwrócony zostanie tylko pierwszy element z listy podkategorii. Być może czasami jest to pożądany przez nas efekt, jednakże w tym konkretnym przypadku wyświetlanie takiej wartości może być mylące. Jak więc wyświetlić listę? Można oczywiście użyć DAX! Miara która posłużyła nam do wykonania naszego zadania przedstawia się następująco:

List Of Subcategories =
CONCATENATEX (
    'DimProductSubcategory';
    'DimProductSubcategory'[EnglishProductSubcategoryName];
    "."
)

CONCATENATEX pozwala na agregację wielu wartości w jedną listę oddzielającą poszczególne składniki podanym separatorem. Po tym jak przeniosłem miarę w określone miejsce wykresu otrzymałem następujący efekt:

W przypadku długiej listy wartości być może nie ma sensu wyświetlać ich wszystkich – ograniczmy je zatem w naszej formule:

List Of Subcategories =
VAR vNoOfSubCategories =
    DISTINCTCOUNT ( 'DimProductSubcategory'[EnglishProductSubcategoryName] )
RETURN
    IF (
        vNoOfSubCategories > 3;
        CONCATENATE (
            CONCATENATEX (
                TOPN ( 3; 'DimProductSubcategory' );
                'DimProductSubcategory'[EnglishProductSubcategoryName];
                "."
            );
            " and " & vNoOfSubCategories
                & " more..."
        );
        CONCATENATEX (
            'DimProductSubcategory';
            'DimProductSubcategory'[EnglishProductSubcategoryName];
            "."
        )
    )

Powyższa miara wyświetli 3 podkategorie, a gdy jest ich więcej wyświetli ich liczbę z odpowiednim tekstem:

Jak widać również w tym przypadku DAX pozwala w bardzo fajny sposób rozszerzyć możliwości Power BI – warto o tym pamiętać.

Co jeszcze można zrobić w przypadku gdy chce zobaczyć zarys danych kryjących się pod wykresem? Mogę je wprost wyświetlić używając opcji Show data dostępnej z menu wizualizacji tak jak zrobiłem to poniżej:

Opcję tą możemy również włączyć korzystając ze wstążki wybierając na zakładce Data / Drill opcję See Data:

Alternatywą do powyższych będzie z całą pewnością widoczna na powyższym zrzucie opcja See Records, która działa podobnie do akcji Drillthrough (które opisałem tutaj). O ile See data wyświetla dokładną agregację danych odpowiadającą wykresowi, o tyle See Records wyświetli bardzo szczegółowe dane na ten temat. Dokładniej rzecz ujmując, po włączeniu tej opcji i kliknięciu w odpowiedni słupek na wykresie zobaczymy zestaw rekordów, które “złożyły się” na otrzymany wynik:

Warto jednak zauważyć, że powyższa opcja pozwala wyświetlić tylko podzbiór danych szczegółowych jeżeli mamy zbyt wiele rekordów. Obie powyższe funkcjonalności posiadają szereg ograniczeń tj. na ten moment obsługują tylko kilka wizualizacji takich jak:

  • Bar
  • Column
  • Map
  • Tree Map
  • Filled Map
  • Pie
  • Donut
  • Funnel

Ponadto w przypadku gdy użyjemy kalkulowanej miary lub łączymy się do kostki wielowymiarowej połączeniem Live Connection (SSAS Multidimensional) to funkcjonalność See Records nie będzie dla nas dostępna.

Alternatywą do dwóch powyższych jest wspomniany Tooltip. Przypuśćmy, że chcemy pokazać listę podkategorii, które składają się na daną kategorię po najechaniu na określony słupek. Na samym początku przygotujmy nową stronę raportu z listą kategorii oraz sumą sprzedanych przedmiotów (OrderQuantity):

To co teraz musimy zrobić to nazwać całą stronę (w moim przypadku będzie to Details) i umożliwić jej używanie jako Tooltip. Ponadto trzeba ustalić rozmiar całej strony jako Tooltip tak jak zostało to przedstawione poniżej (pamiętajmy, że ustawiamy właściwości strony, a nie wizualizacji):

Ustawienie rozmiaru danych spowoduje, że strona zostanie znacznie powiększona, aby praca była nieco bardziej przyjazna możemy na wstążce wybrać View -> Page View -> Actual Size. W tym momencie nasza strona ma dokładnie taki rozmiar jaki będzie miał nasz Tooltip:

Musimy dostosować naszą wizualizację do tego rozmiaru okna – w moim przypadku wygląda ona następująco:

Ja użyłem prostej tabeli i karty, ale jeśli istnieje taka potrzeba możemy użyć takiej wizualizacji jakiej chcemy. Teraz przejdźmy do zakładki z naszym wykresem. Również tutaj ustawienie tooltipa jest bardzo proste – wystarczy wejść we właściwości wykresu i ustawić właściwą stronę w sekcji Page:

Proste? Bardzo proste! Od teraz mamy interaktywne menu kontekstowe:

Wygląda to naprawdę dobrze – filtry przekazywane są w prawidłowy sposób i ku mojej uciesze mamy kolejną alternatywę na pokazywanie szczegółów. Oczywiście funkcjonalność ta nie będzie idealna we wszystkich sytuacjach ale i tak wiele brawa dla zespołu Power BI za tak fajną funkcjonalność. Stronę będącą tooltipem możemy ukryć ponieważ nie będzie ona użyteczna dla użytkowników końcowych. Mam nadzieję, że podzielacie mój entuzjazm związany z opisywanymi możliwościami i znajdziecie w nich rozwiązania swoich problemów.

Leave a Reply