Transformationscode für Auswertungen

Dieser Text beschreibt, wie Transformationscodes in Auswertungen verwendet werden, um Labordaten für Highcharts-Diagramme oder komplexe Tabellen aufzubereiten, einschließlich Detailinformationen zu Datenstrukturen und Formatierungsoptionen.

In den Auswertungen kann die Funktion entweder Daten für Highcharts aufbereiten oder für eine komplexere Tabelle zusammenstellen. Der Datenparameter hier ist immer ein Array von Objekten mit dem Ergebnis aus der SQL Auswertung.

[
  {
    "Probe": "P01",
    "Messwert": 0.31
  },
  {
    "Probe": "P02",
    "Messwert": 1.44
  }
]

Wenn damit Daten für ein Diagramm bereitgestellt werden sollen, muss der Rückgabewert ein Objekt sein, dessen Keys dann in Highcharts verwendet werden. Dort sind diese als Variable mit dem Präfix _TRANSFORM_ ansprechbar.

/**
 * @param {any} data
 * @return {object}
 */
function transform (data) {
  return {
    series: data.map(d => ({ y: parseFloat(d.Messwert) * -1, Probe: d.Probe }))
  }
}

In dem Fall wäre _TRANSFORM_SERIES_ in der Highcharts Konfiguration verwendbar und würde die Daten für eine Serie enthalten.

Zusätzliche Funktionen
Chart Transformationscodes haben zusätzlich die Möglichkeit Funktionen für Highcharts Konfigurationen bereitzustellen, nachdem die Konfiguration ein reines JSON Objekt ist und daher keine Javascript Funktionen behinhalten kann. Damit diese verwendet werden können, müssen die das Prefix _HC_ haben.

Beispiel:

function _HC_ClickHandler () {
  window.location.href = `/demo/samples/view/${this.sampleID}`
}

Variablen aus der Auswertung
Variablen aus der Auswertung wie _VAR0_, _VAR1_, etc werden im Code mit den gegebenen Werten ersetzt, dadurch ist dann zum Beispiel so etwas möglich:

const title = `Auswertung zu Probe _VAR0_`

Tabellen
Falls hier eine Tabelle aufgebaut werden soll, sind zwei Keys im zurückgegebenen Objekt ausschlaggebend:

  • rows
  • titleRows (optional)

rows muss ein Array sein, dass Objekte beinhaltet, deren Keys die Titel der Spalte darstellen. Das heißt, ein Array dieser Art

{
  "rows": [
    {
      "Probe": "X0001",
      "Anmerkung": "Messung mit Röntgen",
      "Messwert": 0.31
    },
    {
      "Probe": "X0002",
      "Anmerkung": "Messung mit Röntgen",
      "Messwert": 1.41
    }
  ]
}

wird zu einer Tabelle mit dieser Struktur

Probe Anmerkung Messwert
X0001 Messung mit Röntgen 0.31
X0002 Messung mit Röntgen 1.41

titleRows kann optional zusätzlich andere Titelspalten angeben. Das ist besonders dann nützlich, wenn man erweiterte Formatierungsoptionen wie colSpan verwenden will. titleRows ist ein Array aus Arrays, wobei jeder Eintrag eine Titelreihe darstellt. Ein Eintrag in der Titelreihe kann entweder ein String sein, der einfach nur den Titel der Spalte trägt, oder ein Objekt wenn mehrere Optionen gewünscht sind. Dieses baut sich wie folgt auf:

  • title: Titel der Spalte
  • colspan: Colspan Attribut
  • width: Spaltenbreite (in px)

Hier ein Beispiel:

{
  "titleRows": [
    [
      {
        "title": "Röntgenmessungen",
        "colspan": 3,
        "width": 30,
        "align": "center"
      }
    ],
    [
      "Probe",
      "Anmerkung",
      "Messwert"
    ]
  ],
  "rows": [
    [ "X0001", "Messung mit Röntgen", 0.32 ],
    [ "X0002", "Messung mit Röntgen", 0.11 ]
  ]
}

Diese Einstellung für die titleRows liefert folgende Tabelle:

Röntgenmessungen

Probe Anmerkung Messwert
X0001 Messung mit Röntgen 1.32
X0002 Messung mit Röntgen 1.11

Tabellen auf Befunden - Transformationscode in Berichtstabellen

Aufbau der Arrays (für rows und titleRows) entspricht dem Aufbau der Arrays in den Auswertungen (Siehe oben - Abschnitt Tabellen).

  • rows
  • titleRows (optional)

Ein Eintrag in der Titelreihe kann entweder ein String sein, der einfach nur den Titel der Spalte trägt, oder ein Objekt wenn mehrere Optionen gewünscht sind. Dieses baut sich wie folgt auf:

  • title: Titel der Spalte
  • colspan: Colspan Attribut
  • width: Spaltenbreite (in mm)
  • align: 'C' für Center, 'L' für Links, 'R' für Rechts

Wenn mit width beispielsweise nur 1-2 Spalten definiert werden, passen sich die restlichen Spaltenbreiten dynamisch an die Seitenbreite (Rahmen der PDF-Vorlage) an.

Weiter mit: Export Transformationscode

Letzte Änderung: 26.08.2025

Allgemeines

Einführungsphase

Auswertungen

Mitarbeiter

Aufträge

Proben

Probenvorlage

Berichte

Kunden

Berichtstabellen Editor

Kundenzone (optional)

Anlagen

Angebote

Rechnungen

Parameter

Rechnen mit Parametern

Schnittstellen

Webservice

Transformationscode

Prüfpläne / Grenzwerte / Spezifikationen

Dokumentenlenkung

Fragen und Antworten

Prüfmittel

Material

Mitarbeiterschulungen

8D-Report

Sonstiges

PDF-Vorlagen

Lieferantenbewertung

Dateiverwaltung

Prozesse