REPORT – 2D-Tabellen – Teil 2

DIAdem bietet für 2D-Tabellen viele Gestaltungsoptionen (siehe REPORT – 2D-Tabellen – Teil 1). Häufig muss die Aufmerksamkeit aber auf bestimmte Stellen der Tabelle gelenkt werden – also möchte ich abhängig vom Zelleninhalt durch Gestaltungsveränderung der Tabellenzelle einen Eyecatcher erzeugen.


Für solche Anpassungen ist ein kleines Skript erforderlich, das beispielsweise sehr einfach in ein schon vorhandenes Analyse-Skript eingebunden werden kann.

Beispiel einer Tabelle ohne Aufmerksamkeitsfokus.

Technischer Hintergrund:

  • DIAdem bietet an unterschiedlichen Stellen sogenannte EVENTS an.
  • Ein EVENT ist ein Skript, das zu einem bestimmten Zeitpunkt aufgerufen und abgearbeitet wird.
  • Für 2D-Tabellen steht unter anderem das Event „OnDrawingCell“ zur Verfügung.
  • Jeder Spalte in der Tabelle kann dem Event „OnDrawingCell“ ein Skript zugeordnet werden.
  • In dem Skript (die Event-Funktion) steht der gesamte Kontext der Tabelle und der der aktuellen Zelle zur Verfügung und kann abhängig vom Zelleninhalt angepasst werden.
  • Kurz vor dem Zeichnen der Tabellenzelle einer Spalte wird dieses Event (und damit das zugeordnete Skript) aufgerufen.
  • Ein solches Skript muss als Anwenderbefehl bereitgestellt werden.

Im nachfolgenden Beispiel sind die Temperaturkanäle der Example-Datei in einer Tabelle dargestellt. Ziel ist das Markieren der Minimalwerte und Maximalwerte von jeder Spalte.

Inhalt der Anwenderbefehls (Event-Funktion) „TableUserCMD.VBS“

Hinweise:

D2TabCol:     DIAdem-Variable, bestimmt den Index der aktuellen Spalte der Tabelle.

ValEqual:       DIAdem-Funktion, Überprüft ob zwei Werte, bezogen auf die signifikanten Ziffern, gleich sind.

oSettings:     Enthält die Parameter der aktuellen Spalte

oCurrChn:     Enthält die Parameter des Kanals, dessen Werte dargestellt werden

Ablauf der Event-Funktion:

Zunächst werden die Parameter der aktuellen Spalte und des aktuellen Kanals Variablen zugewiesen. Dann wird geprüft, ob der aktuell darzustellende Wert der Maximal- bzw. Minimalwert ist. Je nach Zutreffen wird die Hintergrundfarbe ROT, GRÜN oder in sonst Hellgrau als neuer Tabellenparameter der Zelle gesetzt.

Jetzt muss die Event-Funktion nur noch den Tabellenspalten zugewiesen werden.

Inhalt des Hauptskriptes „TableMain.VBS“

Hinweise:

ScriptsCmdAdd:     DIAdem-Befehl, meldet eine Datei als Anwenderbefehlsdatei an

oReportTabCols:    enthält die Parameter einer Tabellenspalte

Ablauf im Skript:

Die Datei mit der Event-Funktion wird als Anwenderbefehl angemeldet. (Anwenderbefehle sind funktionale Erweiterungen in DIAdem. Angemeldete Anwenderbefehle werden im Skripteditor wie Standard-DIAdem-Befehle rot eingefärbt.) Nachdem Daten und Layout geladen wurden – und ggf. eine Datenanalyse erfolgt ist, muss lediglich für jede Spalte der Tabelle dem Parameter „OnDrawingCell“ die angemeldete Event-Funktion „TableOnDrawingCellMinMax“ zugewiesen werden

Allgemeiner Hinweis:

Detaillierte Informationen zu den oben genannten DIAdem-Befehlen und -Variablen können in der DIAdem-Hilfe nachgesehen werden.

Übrigens in Python sieht das ganz ähnlich aus. Hier das Hauptskript:

Und das Anwenderskript.

Hinweis:

In Python muss der Anwenderbefehl in Großbuchstaben geschrieben sein.

Und hier das Ergebnis:

Hinweis:

In der DIAdem-Hilfe gibt es zu diesem Thema das Beispiel „Trenddarstellung in Tabellen mit Hilfe von Anwenderbefehlen“. Es zeigt, wie abhängig vom jeweiligen Zellewert stellvertretend ein Symbol eingetragen und die Hintergrundfarbe geändert wird.

Skripte / Layout und Datensatz als ZIP zum Download:

Viel Spaß mit DIAdem
Carpe DIAdem

Author: Walter Rick

Diese und viele weitere Tricks lernt ihr in unseren Schulungen und Consultings. 

Link zu den Terminen

Link zu Tipps & Tricks

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert