Kolorowanie komórek w raportach aplikacji

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji: 2020.1.x i wyższych; autor: Katarzyna Cypser

 

W wersji WEBCON BPS 2020 została wprowadzona funkcjonalność kolorowania raportów na formularzu MODERN.

Poza możliwością kolorowania komórek możesz też dodawać ikony, cieniować komórki oraz tworzyć wiele zaawansowanych konfiguracji wykorzystujących m.in. instrukcje warunkowe.

Opcja dostępna jest w konfiguracji raportu:

 

Podczas edycji raportu, w zakładce „Widoki” pojawia się nowa kolumna „Wygląd” – klikając w ikonę kredki/ołówka przy wybranej kolumnie raportu otwiera się okno z możliwością wyboru jednego z czterech trybów kolorowania:

  • Pasek danych

W trybie Pasek danych komórki zostaną pokolorowane według procentowego udziału zawartych w nich danych w stosunku do przedziału pomiędzy wartością minimalną a maksymalną.

W konfiguracji wybierz odpowiedni kolor z dostępnej palety kolorów oraz określ minimalne i maksymalne wartości.

Poniżej znajduje się przykładowa konfiguracja dla kolumny zawierającej liczby w przedziale 1 -11, z wprowadzonymi wartościami min = 1 oraz max = 10.

 

Widok raportu po konfiguracji:

 

Wszystkie wartości znajdujące się pomiędzy minimalną a maksymalnym zakresem posiadają proporcjonalnie rozłożony pasek wybranego koloru, wartości >=10 osiągają 100% koloru, wartości =<1 posiadają 0%. Po dodaniu kolejnych elementów do raportu, wartości min/max mogą ulec zmianie a wraz z nimi szerokość paska dla każdej z komórek.

  • Skala kolorów

Konfiguracja trybu Skala kolorów przebiega w podobny sposób – tutaj także kolorowanie następuje po przeliczeniu procentowego udziału wartości w komórce w stosunku do min/max. W każdym trybie jednak zmianie ulega nasycenie koloru. Do wyboru są cztery typy kolorów, a w każdym zawartych jest 10 odcieni.

W poniższym przykładzie dla kolumny, w której znajdują się dane liczbowe w przedziale 100-1000 w konfiguracji został wybrany typ kolorów: Czerwony-Przeźroczysty-Zielony, oznacza to że kolor komórek będzie zmieniał odcień przechodząc stopniowo od czerwonego do zielonego. Tym razem wybrano domyślne wartości min/max:

 

Przy takich ustawieniach zostały pobrane z raportu: min = 100, max = 1000 , a więc liczby z przedziału 0 -100 są w kolorze czerwonym o maksymalnym nasyceniu, a z przedziału 900 – 1000 w kolorze zielonym, reszta wartości posiada odcień koloru o proporcjonalnie rozłożonym odcieniu.

W taki sposób wybrana kolumna prezentuje się na raporcie:

 

  • Warunki

Tryb Warunki działa na zasadzie instrukcji warunkowych, wykorzystując operatory dostępne w zależności od typu danych wybranej kolumny. W tym trybie można zmieniać kolor tła oraz czcionki, a także (od wersji 2020.3) odnosić się do zawartości innych kolumn.

Przykład konfiguracji kolumny, w której zostało dodanych kilka warunków, odnoszących się do wartości kolumny własnej oraz z innych kolumn:

 

Widoki na raporcie:

 

  • Zaawansowany

Konfiguracja w trybie zaawansowanym jest możliwa przy użyciu formatu JSON – schemat tworzenia takiej konfiguracji znajdziesz pod linkiem: http://developer.webcon.com/json-schemas/v1/column-formatting.schema.json.

Tryb zaawansowany umożliwia wykonywanie dużo bardziej złożonych ustawień w których można manipulować wnętrzem komórek, dodawać obrazy, wykorzystując np. instrukcje warunkowe itp.

Przykład konfiguracji zaawansowanej, która pozwala na dodanie tekstu do komórki wraz z jej obramowaniem:

 

Widok raportu:

 

W kolejnym przykładzie trybu zaawansowanego użyto wyrażeń z funkcją if, w zależności od wartości w komórce zmieni się jej kolor, kolor tła oraz zostaną dodane odpowiednie ikony z różnymi stylami. Nazwy kolumn CurrentField oraz CurrentRawValue są wykorzystywane w przypadku odnoszenia się do danych z komórki własnej, a odnosząc się do zawartości z innych kolumn używane są nazwy z tabel MSSQL (bez „WFD_”).

 

Widok raportu:

 

Dodatkowym ułatwieniem w konfiguracji kolorowania jest fakt, że po zapisie każdego z trybów podstawowych i edycji tej konfiguracji zmieniając na tryb zaawansowany, można zobaczyć w polu tekstowym utworzony plik JSON oraz zmodyfikować go według własnych potrzeb.

3 thoughts to “Kolorowanie komórek w raportach aplikacji”

  1. Witam,

    Czy istnieje możliwość porównania atrybutu typu "Data i godzina" do aktualnej daty. Próbowałem użyć takiego porównania: "=AttDateTime1>getdate()", ale niestety bezskutecznie. Wiem, że mogę zrobić coś podobnego na kolumnie wyliczalnej i typie lampka, ale gdyby dało się to zrobić w trybie kolorowania na samej kolumnie daty wyglądałoby to jeszcze lepiej 🙂
    Z góry dziękuję.

    1. Proszę użyć trybu zaawansowanego:

      {
      "style": {
      "background-color": "=if(CurrentRawValue > now() – days(30), 'cornflowerblue', ")"
      },
      "content": "=CurrentField"
      }

      Obliczenia na datach w wyrażaniach dokonywane są na uniksowej reprezentacji daty, stąd 30 dni zamieniane jest na milisekundy funkcją "days".

  2. Hm, mam wersję 2020.1.2.163 i przy kolorowaniu mam tylko opcję Warunki i Zaawansowane
    Brakuje mi Color Scale i Data bar – widoczne na pierwszym screenie.
    Przy opcji Warunki mogę podać tylko warunek aktualnej kolumny – brakuje mi możliwości podania warunku innej kolumny, zwłaszcza wyliczanej.

Komentarze są zamknięte.