APEX 19.1 - Status Meter Gauge

Mit der Version 19.1 bietet APEX nun Zeiger-Elemente out-of-the-box. Ein zusätzliches Plug-In wird nicht mehr benötigt.
Alle Neuerungen siehe https://blogs.oracle.com/apex/announcing-oracle-apex-191
 bzw.
hier https://apex.oracle.com/en/platform/features/whats-new

Wie baut man sowas nun ein?

Es braucht eine eigene (Sub-)Region vom Type "Chart".
Diese bekommt unter Attribute den Type "Status Meter Gauge".
Dadurch werden diverse Deklarationselemente sichtbar, über die das Aussehen sehr weitreichend angepasst werden kann.
Für meinen Fall habe ich mich für folgende Einstellungen entschieden:

Zu jedem Zeiger/Diagramm gehört eine entsprechende Datenreihe (in APEX "Series" genannt). Für Zeiger hat diese Datenreihe nur eine Zeile, aber mehrere Spalten, mit denen das Aussehen gesteuert werden kann.
Das entsprechende Select-Fragment schaut z.B. so aus:

select LABEL
     , 0 VAL_MIN
     , VAL_SET
     , VAL_ACT
     ,
VAL_SET*2 VAL_MAX
     , case
         when VAL_ACT = VAL_SET
         then '#4CD964' -- gruen
         else '#FF3B30' -- rot
       end val_col    
     , LABEL||': '||VAL_ACT||' von '||VAL_SET TOOLTIP
  from (


Der Sinn der einzelnen Spalten erschießt sich aus der nachfolgenden Zuordnung (Column Mapping):

Im Beispiel soll dargestellt werden, ob eine vorgegebene (val_set) Anzahl Dateien bereits zugeordnet wurde (val_act).
Für den Fall, dass keine, zu wenig oder zu viel zugeordnet wurde, wird der Balken rot, wenns passt grün dargestellt (val_col per CASE-Statement).
Die dynamische Zuordnung (hier des Vorgabewertes und der Balkenfarbe) erfolgt deklarativ per &Val.-Notation:

Im Beispiel schaut das Ergebnis dann so aus:

Es gibt aber auch horizontale Balken, Teil- und Vollkreis-Varianten, verschiedene Grenzwertbereiche und viele, viele weiter Möglichkeiten. Beispiele dafür finden sich z.B. hier: https://apex.oracle.com/pls/apex/f?p=10800:5:0::NO:::


Fazit: Eine schöne Neuerung in Version 19.1, die die Arbeit nochmal deutlich erleichtert (und kein eigenes Plug-In (mehr) erfordert.

Kommentare

Beliebte Posts aus diesem Blog

PGA unter Oracle 11g

trunc(sysdate) - nette Spiele mit dem Datum

Datapump - Verzeichnis erstellen