Formeln
Formeln ermöglichen es Ihnen, den Wert einer Coach-Ansicht basierend auf dem Inhalt anderer Coach-Ansichten festzulegen.
Formeln werden von den folgenden Coach-Ansichten unterstützt: Badge, Schaltfläche, Titelfeld, Ausblendbares Fenster, Decimal (Dezimal), Ganzzahl, Link, Hinweis, Benachrichtigung, Ausgabetext, Fenster, Fortschrittsanzeiger, QR-Code, Schieberegler, Statusfeld, Text und QuickInfo.
Syntax für Verweise auf Coach-Ansichten
Verwenden Sie die folgende Syntax für Verweise auf Coach-Ansichten in Formeln:
- ${ControlName} verweist auf die Coach-Ansicht mit control id = ControlName.
- @{ControlName} verweist auf den Wert in der Coach-Ansicht mit control id = ControlName.
- ${ControlName}.getValue() und @{ControlName} sind funktional entsprechend.
- Für die Coach-Ansichten Decimal (Dezimal) und Ganzzahl können Sie die arithmetischen Standardoperatoren ('+", '-', '*', '/', '%') oder die entsprechenden Funktionen verwenden.
- Da Formeln JavaScript-Ausdrücke sind, ist alles, was in einem JavaScript-Ausdruck gültig ist, auch in einer Formel gültig.
Beispiel: Sie haben die folgenden Coach-Ansichten: Quantity (Ganzzahl), Cost (dezimal) und Total (dezimal). Sie können den Wert von 'Total' mit der folgenden Formel angeben:
@{Quantity} * @{Cost}
Wenn die Steuerelemente Quantity (Ganzzahl), Cost (dezimal) und Total (dezimal) in einer Tabelle mit Formeln verwendet werden, müssen Sie sehr wahrscheinlich auf Felder zugreifen, die sich in einer 'my'-Zeile befinden. Verwenden Sie dazu eine Syntax, die ein Gleichheitszeichen (=) hinter dem Feldnamen platziert, wie im folgenden Beispiel dargestellt:
@{Quantity=} * @{Cost=}
Anmerkung: Das Steuerelement 'Total' muss nicht gebunden sein. Dies bedeutet, dass es nicht erforderlich ist, ein Datenfeld Total in der Tabelle zu verwenden.
Aggregatfunktionen
Wenn Sie eine Tabelle verarbeiten, müssen Sie möglicherweise Aggregatfunktionen verwenden. Das Zeichen * kann jedem beliebigen ControlName folgen und gibt alle Zeilen in einer angegebenen Spalte an.
Die folgenden Aggregatfunktionen werden unterstützt:
- COUNT(${ControlName})
- SUM(${ControlName}, expression)
- AVG(${ControlName}, expression)
- MIN(${ControlName}, expression)
- MAX(${ControlName}, expression)
Anmerkung: Zum Verarbeiten einer paginierten Tabelle können Sie den optionalen Operanden expression verwenden.
Aufgrund der Implementierung des Steuerelements 'Tabelle' werden bei einer paginierten Tabelle nur die Zeilen angezeigt, die sichtbar sind. Verwenden Sie die Methode getRecordCount(), um die genaue Anzahl der Datensätze in einer paginierten Tabelle zu erhalten.
Der Operand expression ist für alle Aggregatfunktionen außer COUNT gültig. Beispiel:
FOR_EACH{expression}
Dabei entspricht expression der Formel, die für die verarbeitete Spalte angegeben wurde. Dieser Ausdruck verwendet die spezielle Notation '#{data-element-name}. data-element-name bezieht sich auf die tatsächlichen gebundenen Daten, die mit einer angegebenen Spalte verbunden sind. Beispiel: In Ihrer Tabelle sind die folgenden Spalten enthalten:
- Amount1 mit control Id 'tblAmount1' gebunden an den Parameter amount1
- Amount2 mit control Id 'tblAmount2' gebunden an den Parameter amount2
- Total mit control Id 'tblTotal' gebunden an die Formel @{tblAmount1=} * @{tblAmount2=}
SUM(${Table1},FOR_EACH{#{amount1} * #{amount2}})
Anmerkung: Diese Formel ist logisch äquivalent zu der Formel SUM(${Table1/tblTotal*}), die für eine nicht paginierte Tabelle verwendet werden kann.