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.
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
Kommentar veröffentlichen