Tworzenie KPI z dodatkowymi informacjami
W dzisiejszym artykule pokażę jak możemy wzbogacić nasze wizualizacje, aby przekazać jeszcze więcej informacji w przejrzysty sposób. Naszym celem będzie dodanie dodatkowych wskaźników do karty, które będą się wyświetlać po najechaniu na nią kursorem. W tym ćwiczeniu posłużymy się zbiorem testowym Financial Sample, który jest domyślnie dostępny w Power BI.
Omówienie rozwiązania
Do naszego testowego zbioru dodałem kilka miar:
- Sales Actuals – jako standardowa suma sprzedaży
- Sales Actuals YTD – jako kumulatywna suma sprzedaży w roku
- Sales Forecast YTD – Wartość Sales Actuals YTD pomnożona x 1.15
- Sales Actuals vs Forecast – Sales Actuals YTD – Sales Forecast YTD
Dodaj fragmentator daty i ustaw go na przedział 2014-11-01 do 2014-12-01. Przejdźmy teraz do utworzenia naszej wizualizacji. Do zwykłej karty dodajmy miarę Actuals YTD. Następnie sformatujmy nieco kartę do naszych potrzeb. Ustaw jej wysokość na 125 px, szerokość na 250 px, dodaj obramowanie, zmień czcionkę karty na 28 pt, i jej opis na 11 pt. Po wykonaniu wszystkich kroków Twoja karta będzie wyglądać jak poniżej.
Teraz przejdźmy do dodania efektu po najechaniu kursorem. W tym celu dodamy pusty przycisk, ponieważ wykorzystując przycisk możemy ustawić różne rodzaje formatowania dla różnego stanu przycisku (najechanie kursorem, aktywacja, stan domyślny). Ze wstążki Insert wybierz Buttons i wstaw pusty przycisk (Blank). Ustawmy jego wysokość na 115 px i szerokość na 240 px, a następnie przenieś go na środek wcześniej utworzonej karty. Następnym krokiem będzie wyłączenie obramowania (Outline) i tła (Background) naszego przycisku. Następnie przejdźmy do ustawień stylu naszego przycisku i wybierzmy stan po najechaniu kursorem (On hover) i dodajmy tekst – niech będzie standardowe Lorem Ipsum. Teraz możemy zauważyć, że po najechaniu kursorem na naszą kartę wyświetla się tekst Lorem Ipsum, jednak tło nadal pozostaje przezroczyste.
Upewnij się, że jesteś nadal w ustawieniach dla stanu On hover i zmień tło na białe i ustaw przezroczystość na 0%. W tej sytuacji Twój przycisk będzie wyświetlał się poprawnie.
Tą część mamy już za sobą. Co teraz w przypadku, gdy chcemy dodać więcej niż jeden wskaźnik? W tym przypadku posłużymy się funkcją zawierającą kombinację tekstów. Zanim to zrobimy ustaw wyrównywanie tekstu do lewej dla stanu On hover. Następnie utwórzmy miarę zgodnie z poniższym:
ButtonText_Hover=
VAR Space= “ “
VAR CardWidth = 30 // Tu musisz testować ilość znaków, którą będziesz potrzebować w zależności od szerokości twojej wizualizacji i użytej czcionki
VAR KPI1_Text= “Sales YTD: “ & FORMAT( [Sales Actuals YTD], “0,,M”)
VAR KPI2_Text= “Forecast: “ & FORMAT( [Sales Forecast YTD], “0,,M”)
VAR KPI3_Text = “Difference: “ & FORMAT( [Sales Actuals vs Forecast], “0,,M”)
VAR KPI1_NumberSpaces = CardWidth – LEN(KPI1_Text)
VAR KPI2_NumberSpaces = CardWidth – LEN(KPI2_Text)
VAR Summary_Text =
KPI1_Text & REPT(Space, KPI1_NumberSpaces) &
KPI2_Text & REPT(Space, KPI2_NumberSpaces) &
KPI3_Text
RETURN
Summary_Text
Teraz omówmy zmienne:
- Space – tutaj posłużyłem się znakiem pustej spacji, możesz go pobrać ze strony emptycharacter.com
- CardWidth – Tu ustawiłem ile znaków mieści się w mojej karcie (zależnie od szerokości karty)
- KPI[1,2,3]_Text – Tutaj ustawiłem teksty dla konkretnych miar i sformatowałem obliczenie do wyświetlania wartości w milionach.
- KPI[1,2]_NumberSpaces – Policzyłem ilość znaków, które mają być zastąpione wyłączając tekst, który już został ustawiony
- SummaryText – połączyłem teksty dla konkretnych miar z funkcją REPT, która wstawi obliczoną liczbę pustych spacji w tekst, aby utworzyć pustą linię.
Ważne! Power BI domyślnie usuwa spacje, dlatego też posłużyliśmy się znakiem pustej spacji.
Następnie dla stanu On hover w naszym przycisku w tekście wybierz funkcję i miarę, którą utworzyliśmy. Nasza karta powinna wyglądać tak jak poniżej (z lewej efekt przed najechaniem na nią kursorem, z prawej efekt po najechaniu kursorem):
Podsumowanie
W dzisiejszym artykule przedstawiłem sposób na dodanie dodatkowych informacji do wizualizacji karty za pomocą pustego przycisku i funkcji, która umożliwia przełamanie wiersza w tekście.