Best-Practice für die Verwendung von Formeln in Produkten
Auf dieser Seite ist erläutert, was wie Sie Formeln in Templates verwenden können und was dabei zu beachten ist.
Version: Dieser Artikel ist mindestens gültig ab der stabilen Version 5.5.8.
1. Voraussetzungen
Es benötigt:
eine vollständige Installation & Einrichtung von OCT.
eine Fabrik mit Produktlinie und Produkt im Bereich der Datenerfassung.
2. Verwendungsanleitung
Hintergrundinformationen
das Spreadsheet welches in OCT eingebettet ist, ist allgemein hier beschrieben, nicht alle Funktionen sind aber in unserem Kontext verfügbar https://docs.telerik.com/kendo-ui/controls/data-management/spreadsheet/end-user/user-guide
die verfügbaren Formeln sind hier zu finden https://docs.telerik.com/kendo-ui/controls/data-management/spreadsheet/end-user/list-of-formulas
ACHTUNG: Nicht alle Formeln werden auch vom Powerloading unterstützt, dabei funktionieren nur die folgenden
und die von uns zusätzlich implementierten
IFERROR
die unterstützte Tastatur Shortcuts sind hier zu finden https://docs.telerik.com/kendo-ui/controls/data-management/spreadsheet/end-user/list-of-shortcuts
Es scheint Excel Formeln zu geben, die nicht dokumentiert sind (oder per Alias verwendet werden), z.B. Runden() = Round() ist verwendbar aber nicht dokumentiert
Allgemein
Die Formeln im Webclient entsprechen weitgehend denen im Excel, es ist folgendes zu beachten
um Formeln zu bearbeiten sollte die Seite in den Designmodus geschalten werden

die Formelnamen müssen in englisch erfasst werden - um Formel von deutsch nach englisch übersetzen, kann ein Tool wie dieses verwendet werden https://de.excel-translator.de/translator/
Kopieren aus Excel - Formeln können nur als Text (aus der Bearbeitungsleiste kopiert) für eine Zelle aus englischem Excel kopiert werden, ein kopieren im Block funktioniert nicht
Punkt / Komma als Dezimaltrennzeichen und Komma / Semikolon als Trenner von Formelteilen müssen passend zu eingestellten Sprache verwendet werden
das ziehen von Formelfeldern mit relativer Formelanpassung ist unterstützt
das "Durchschießen" von Formeln (per Doppelklick auf untere Ecke) wie in Excel ist leider nicht möglich, es gibt statt dessen
die Funktion "Füllen bis zum Ende" im rechten Mausmenü
man kann statt dessen mit der Tastenkombination arbeiten STRG+C → SHIFT+STRG+PFEIL UNTEN → STRG+V
Zugriff auf die Globalattribute im Template
Die Globalattribute sind in einem ausgeblendeten Bereich geladen und können per Formel referenziert werden. Dieser Bereich ist identisch für horizontale und vertikale Templateausrichtung
in Zelle B25 steht Globalattribut1
in Zelle B26 steht Globalattribut2
etc.
Formeln im Zusammenhang mit skalierter Speicherung
Werte werden in OCT immer mit einer festen Nachkommastelle skaliert gespeichert (z.B. Skalierung 100 = 2 Nachkommastellen). Sofern eine Formel mehr Nachkommastellen zur Laufzeit berechnet, erscheint der Wert als geändert in der Anzeige, obwohl die Werte scheinbar unverändert sind.
z.B. die Formel =0,5 * 7,01 ergibt mathematisch 3,505 in der Datenbank wird aber bei Skalierung 2 der Werte 3,51 gespeichert - bei jedem Öffnen des Templates wird daher der Wert als geändert anzeigt
es sollten daher Ergebnisse von Formelberechnungen mit mehr Nachkommastellen als Skalierung gerundet werden (somit jede Multiplikation, Division, Potenz etc.)
die Formel sollte daher lauten =ROUND(0,5*7,01;2) - dann wird immer 3,51 berechnet und 3,51 steht auch in der Datenbank

es müssen nicht alle Formeln gerundet werden, z.B. eine Addition von zwei gleich skalierten Werte benötigt keine Rundung

Formeln mit Datumsangaben
Datumsangaben sind in Formeln schwer zu verarbeiten, falls die Oberfläche in mehreren Sprachen genutzt wird. Beim Umschalten der Sprache treffen schnell Fehler auf, da andere Datumsformate erwartet werden.
Lösungsoptionen
Datumswerte im ISO Format erfassen 20201004 für den 4. Oktober 2020, diese lassen sich international gleich auflösen
ein Datum (besonders aus dem Globalattribut, wo es immer ein String ist) zunächst per LEFT / RIGHT in die einzelnen Teile schneiden und mit diesen weiter arbeiten
Formeln, welche eine andere Schreibweise als im Excel erfordern und Formeltricks
Beim Editieren bestehender Formeln, sollte man die Strg Taste beim anklicken von Zellen gedrückt halten. Dann wird die vorhandene Zellreferenz nicht ersetzt, sondern die neue Zellreferenz davor eingefügt
Problematik | Excel Schreibweise | Webclient Alternative | Bemerkungen |
---|---|---|---|
Prüfung auf leere Zelle | =WENN(A1="";1;2) | WENN(ISBLANK(A1);1;2) | |
Datumsdifferenz in Tagen | = DATEDIF(Datum1, Datum2, "d") | =Date(Jahr,Monat,Tag) - Date(Jahr,Monat,Tag) | |
Datum aus der TimeID generieren | =Datum(Jahr,Monat,Tag) | =Date(Jahr,Monat,Tag) | |
Wochentagermittlung | =WOCHENTAG(Datum;2) | =Weekday(Datum;1) | Typ 2 steht für Montag = 1, wird im WebClient nicht verarbeitet, es muss mit Typ 1 (Sonntag = 1) gerechnet werden |
Texte mit & konkatenieren | ="TEST"&"TEST" | ="TEST"&"TEST" |