Transformationscode für Auswertungen

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

    ProbeAnmerkungMesswert
    X0001Messung mit Röntgen0.31
    X0002Messung mit Röntgen1.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
  • span: Colspan Attribut

    Hier ein Beispiel:

    {
      "titleRows": [
        [
          {
            "title": "Röntgenmessungen",
            "colspan": 3,
            "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
    ProbeAnmerkungMesswert
    X0001Messung mit Röntgen1.32
    X0002Messung mit Röntgen1.11

    Weiter mit: Export Transformationscode

  • Letzte Änderung: 16.01.2024

    Allgemeines

    Einführungsphase

    Mitarbeiter

    Aufträge

    Proben

    Probenvorlage

    Berichte

    Berichtstabellen Editor

    Kunden

    Kundenzone (optional)

    Anlagen

    Angebote

    Rechnungen

    Parameter

    Rechnen mit Parametern

    Schnittstellen

    Webservice

    Transformationscode

    Prüfpläne / Grenzwerte / Spezifikationen

    Dokumentenlenkung

    Prüfmittel

    Material

    Mitarbeiterschulungen

    8D-Report

    Sonstiges

    PDF-Vorlagen

    Fragen und Antworten

    Lieferantenbewertung

    Dateiverwaltung

    Auswertungen

    Prozesse