Card |
---|
| Grundlegende Regeln bei der Verwendung des Formel-Assistenten zur Definition von Kennzahlen: - Dezimalzahlen werden mit einem Punkt statt Komma definiert (z.B. 0.3 anstatt 0,3)
- Prozentzahlen können als ganze Zahl mit %-Symbol angegeben werden (z.B. 15% statt 0.15)
- Funktionsparameter müssen in normalen Klammern übergeben werden (z.B. sum({c010, r010}))
- Werden in einer Formel unterschiedliche Tabellen referenziert, müssen diese als Teil der Zellen- bzw. Bereichsdefinition vorkommen (z.B. {C_01.00, r700, c010} = {C_05.01, r360, c060})
- Es werden folgende Operatoren verwendet:
- + für Addition
- - für Subtraktion
- * für Multiplikation
- / für Division
- = für Gleichheit
- != für Ungleichheit
- < für kleiner
- > für grösser
- <= für kleiner gleich
- >= für grösser gleich
Definition von Zellen und Bereichen: - Eine Zelle kann wie folgt definiert werden: {r010, c010} für Zeile 010, Spalte 010. Dabei gilt:
- Eine Zeile wird immer von einem kleinen r (für Row) angeführt, gefolgt vom Koordinatencode der Zelle
- Eine Spalte wird immer von einem kleinen c (für Column) angeführt, gefolgt vom Koordinatencode der Spalte
- Ein Sheet (bzw. eine Z-Achse) wird immer von einem kleinen s (für Sheet) angeführt, gefolgt vom Koordinatencode des Sheets
- Die Angabe der Tabelle ist optional, sofern diese eindeutig ist und in der entsprechenden Spalte (T1) angegeben wurde
- Bereiche können wie folgt definiert werden, dabei gelten für Spalte, Zeile und Sheet die gleichen Regeln:
- Der Start des Bereichs wird wie auch bei der Zellendefinition angegeben (z.B. {r010}), gefolgt von einem Bindestrich und dem Ende des Bereichs. Das Ende des Bereichs kann wahlweise mit dem Achsenliteral oder ohne definiert werden (z.B. {r010-060} oder {r010-r060}
- Bereiche können weiterhin explizit als Auswahl angegeben werden, dabei werden die einzelnen Teile mit einem Komma separiert (z.B. {C 01.00, c010, (r070, r092, r250, r300, r340, r370-390, r430-510, r524)})
- Ebenfalls als Bereich zählen alleinstehende Angaben von Teilen, z.B. entspricht {r010} den kombinierten Werten der Zeile 010 über alle vorhandenen Spalten
- Verfügt eine Tabelle über offene Zeilen bzw. Sheets (Z-Achsen), können diese über rNNN (für Zeilen) respektive sNNN (für Z-Achsen) angesprochen werden
Funktionen:
- Folgende Funktionen können genutzt werden:
- sum() => Berechnet die Summe aus dem in den Klammern angegebenen Bereich. Z.B.: sum({S.05.01.02.02, C0210, R1410, sZ Axis:}, {S.05.01.02.02, C0220, R1420, sZ Axis:}) . Ergebnis: 30000
- min() => Berechnet das Minimum aus dem in den Klammern angegebenen Bereich. Z.B.: min({S.05.01.02.02, C0210, R1410, sZ Axis:}, {S.05.01.02.02, C0220, R1420, sZ Axis:}) . Ergebnis: 10000
- max() => Berechnet das Maximum aus dem in den Klammern angegebenen Bereich. Z.B.: max({S.05.01.02.02, C021, R1410, sZ Axis:}, {S.05.01.02.02, C0220, R1420, sZ Axis:}) . Ergebnis: 20000
- abs() => Berechnet die nicht negative, absolute Zahl aus der in den Klammern angegebenen Zelle. Z.B.: abs({S.05.01.02.02, C0200, R1410, sZ Axis:}) . Ergebnis: 15000
- if()
- => Überprüft mehrere Bedingungen. Syntax: if (Bedingung1, Bedingung2 falls Bedingung1 wahr ist, Bedingung3 falls Bedingung1 falsch ist) . Z.B.: if( {S.05.01.02.02, C0210, R1410, sZ Axis:} == 11000 , {S.05.01.02.02, C0220, R1410, sZ Axis:} == 21000 , {S.05.01.02.02, C0220, R1410, sZ Axis:} == 20000 ) . Ergebnis: true (weil 20000 = 20000)
- => Gibt einen Wert anhand einer Bedingung zurück. Syntax: if (Bedingung1, Wert falls Bedingung1 wahr ist, Wert falls Bedingung1 falsch ist) . Z.B.: if( {S.05.01.02.02, C0210, R1410, sZ Axis:} == 11000 , 'Erwarteter Wert gefunden', 'Warnung, unerwarteter Wert gefunden!') . Ergebnis: Warnung, unerwarteter Wert gefunden!
- count() => Zählt die Anzahl der wahren Ausdrücke innerhalb der Klammer. Z.B.: count({S.05.01.02.02, C0210, R1410, sZ Axis:} == 10000, {S.05.01.02.02, C0220, R1410, sZ Axis:} == 11000) . Ergebnis: 1
- like() => Muss genau 2 Parameter vom Typ String haben und vergleicht ob diese identisch sind. Z.B.: like({S.01.02.01.01, r0010, c0010, sZ Axis:}, '..1.') . Der "." steht für ein beliebiges Zeichen. "like" kann nur in Kombination mit "select" verwendet werden. Gibt "true" zurück, wenn der Wert der Zelle z.B. "XT13" ist.
- select() => Gibt alle Zellen aus einem bestimmten Suchraum zurück, für die die angegebenen Bedingungen wahr sind. Es müssen mindestens 2 Argumente angegeben werden. Z.B.: select({S.06.02, rNNN, c0170, sZ Axis:}, LIKE({S.06.02, rNNN, c0290, sZ Axis:}, '..1.')) . Wählt alle Zellen der Spalte c0170 aus, in deren Reihen die Funktion LIKE({S.06.02, rNNN, c0290, sZ Axis:}, '..1.') wahr ist.
- exists () => Gibt an, ob die angegebene Zelle einen Wert besitzt. Kann nur mit einem Argument verwendet werden. Z.B.: exists({S.05.01.02.02, C0210, R1410, sZ Axis:}) . Ergebnis: true
- not() => Gibt das Gegenteil des angegebenen boolischen Ausdrucks zurück. Z.B.: not(exists({S.05.01.02.02, C0210, R1410, sZ Axis:})) . Ergebnis: false
Bedingungen und Auswahlwerte: - Bedingungen
- Bedingungen können nach dem „if then else"-Prinzip beschrieben werden, dabei steht hinter dem „if"-Schlüsselwort eine Bedingung, welche sich mit wahr oder falsch beantworten lässt. Trifft diese zu, wird der „then"-Teil ausgeführt. Trifft sie nicht zu, wird der „else"-Teil ausgeführt. Der „else"-Teil ist optional. Z.B.: if ({S.05.01.02.02, C0200, R1410, sZ Axis:} != 0) then ({S.05.01.02.02, C0210, R1410, sZ Axis:})
- Bedingungen können mit den Schlüsselwörtern „and" und „or" erweitert werden, Beispiel: if ( {SE.06.02.16.02, C0290,r2,sZ Axis:} == 'XT31') then ({SE.06.02.16.02,EC0271,r2,sZ Axis:} == 0 and {SE.06.02.16.01,C0270,r3,sZ Axis:} == 0) . Für "and" kann auch "&&" und für "or" kann "||" verwendet werden.
- Auswahlwerte
|
Card |
---|
| Basic rules for using the Formula Wizard to define key performance indicators: - Decimal numbers are defined with a point instead of a comma (e.g. 0.3 instead of 0,3)
- Percentages can be specified as whole numbers with a % symbol (e.g. 15% instead of 0.15)
- Function parameters must be written in parentheses (e.g. sum({c010, r010}))
- If different tables are referenced in a formula, these must displayed as part of the cell or range definition (e.g. {C_01.00, r700, c010} = {C_05.01, r360, c060})
- The following operators are used:
- + for addition
- - for subtraction
- * for multiplication
- / for division
- = for equality
- != for inequality
- < for smaller
- > for bigger
- <= for less than or equal to
- >= for greater than or equal to
Definition of cells and ranges: - A cell can be defined as follows: {r010, c010} for row 010, column 010. The following applies:
- A row is always preceded by a small r (for Row), followed by the coordinate code of the cell
- A column is always preceded by a small c (for Column), followed by the coordinate code of the column
- A sheet (or Z-axis) is always followed by a small s (for sheet), followed by the coordinate code of the sheet
- The specification of the table is optional if it is unique and was specified in the corresponding column (T1)
- Areas can be defined as follows; the same rules apply to column, row, and sheet:
- The start of the range is specified as in the cell definition (e.g. {r010}), followed by a hyphen and the end of the range. The end of the range can be defined either with the axis literal or without (e.g. {r010-060} or {r010-r060})
- Areas can also be explicitly specified as selections, with the individual parts separated by a comma (e.g. {C 01.00, c010, (r070, r092, r250, r300, r340, r370-390, r430-510, r524)})
- Also counted as a range are single specifications of parts, e.g. {r010} corresponds to the combined values of row 010 across all existing columns
- If a table has open rows or sheets (Z-axes), these can be addressed via rNNN (for rows) or sNNN (for Z-axes)
Functions:
- The following functions can be used:
- sum() => Calculates the sum from the range given in brackets. E.g.: sum({S.05.01.02.02, C0210, R1410, sZ Axis:}, {S.05.01.02.02, C0220, R1420, sZ Axis:}) . Result: 30000
- min() => Calculates the minimum from the range given in the brackets. E.g.: min({S.05.01.02.02, C0200, R1410, sZ Axis:}, {S.05.01.02.02, C0200, R1420, sZ Axis:}) . Result: 10000
- max() => Calculates the maximum from the range given in brackets. E.g.: max({S.05.01.02.02, C0200, R1410, sZ Axis:}, {S.05.01.02.02, C0200, R1420, sZ Axis:}) . Result: 20000
- abs() => Calculates the non-negative absolute number from the cell in brackets. E.g.: abs({S.05.01.02.02, C0200, R1410, sZ Axis:}) . Result: 15000
- if()
- => Checks multiple conditions. Syntax: if (condition1, condition2 if condition1 is true, condition3 if condition1 is false) . E.g.: if( {S.05.01.02.02, C0210, R1410, sZ Axis:} == 11000 , {S.05.01.02.02, C0220, R1410, sZ Axis:} == 21000 , {S.05.01.02.02, C0220, R1410, sZ Axis:} == 20000 ) . Result: true (because 20000 = 20000)
- => Returns a value based on a condition. Syntax: if (condition1, value if condition1 is true, value if condition1 is false) . E.g.: if( {S.05.01.02.02, C0210, R1410, sZ Axis:} == 11000 , 'Expected value found', 'Warning, unexpected value found!') . Result: Warning, unexpected value found!
- count() => Counts the number of true expressions within the cell brackets. E.g.: count({S.05.01.02.02, C0210, R1410, sZ Axis:} == 10000, {S.05.01.02.02, C0220, R1410, sZ Axis:} == 11000) . Result: 1
- like() => Accepts 2 parameters of type string and returns true if they are equal. E.g.: like({S.01.02.01.01, r0010, c0010, sZ Axis:}, '..1.') . The "." stands for any character. "like" can only be used in combination with "select". E.g. returns true if the cell value is "XT13"
- select() => Gibt alle Zellen aus einem bestimmten Suchraum zurück, für die die angegebenen Bedingungen wahr sind. Es müssen mindestens 2 Argumente angegeben werden. E.g.: select({S.06.02, rNNN, c0170, sZ Axis:}, LIKE({S.06.02, rNNN, c0290, sZ Axis:}, '..1.'))
- exists () => Returns true if the given cell has a value. Only accepty one parameter. E.g.: exists({S.05.01.02.02, C0210, R1410, sZ Axis:}) . Result: true
- not() => Returns the opposite of the given boolean value. E.g.: not(exists({S.05.01.02.02, C0210, R1410, sZ Axis:})) . Result: false
Conditions and selection values: - Conditions
- Conditions can be described according to the "if then else" principle, where the "if" keyword is followed by a condition that can be answered with true or false. If this condition applies, the "then" part is executed. If it does not apply, the "else" part is executed. The "else" part is optional. E.g.: if ({S.05.01.02.02, C0200, R1410, sZ Axis:} != 0) then ({S.05.01.02.02, C0210, R1410, sZ Axis:} == 15.000)
- Conditions can be extended with the keywords "and" and "or", example: if ( {SE.06.02.16.02, C0290,r2,sZ Axis:} == 'XT31') then ({SE.06.02.16.02,EC0271,r2,sZ Axis:} == 0 and {SE.06.02.16.01,C0270,r3,sZ Axis:} == 0) . For "and" you can also use "&&" and for "or" you can use "||".
- Selection values
- If the selection in a cell consists of several values, these values are defined in the validations by the defined DPM values of the taxonomy
- The corresponding values can be found, for example, for the taxonomies created by the EBA in the "DPM Dictionary"
- Example: {F 00.01, r020, c010} = [eba_SC:x7] (according to the DPM Dictionary (Data Point Model), SC:x7 corresponds to the English "string 'consolidated")
|
|