Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
speedy:30_modules:interpreter [2018/01/29 17:03] – [Datenbankfunktionen] admin | speedy:30_modules:interpreter [2022/06/29 18:05] (aktuell) – [Zeichenkettenverarbeitung] speedy | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ~~NOCACHE~~ | ||
====== Formelinterpreter ====== | ====== Formelinterpreter ====== | ||
+ | Der in speedyPDM integrierte Formelinterpreter ermöglicht es an vielen Stellen in der Konfiguration einfach Anpassungen vorzunehmen. | ||
===== Formelsyntax ===== | ===== Formelsyntax ===== | ||
- | + | Die Sytax des Formelinterpreters orientiert sich dabei an der Formelsyntax von Excelformeln. \\ | |
- | Eine Formel endet immer mit einem Semikolon. | + | Eine Formel |
+ | < | ||
+ | =FORMELAUSDRUCK; | ||
+ | </ | ||
+ | \\ | ||
===== Datentypen ===== | ===== Datentypen ===== | ||
- | + | Es stehen folgende Datentypen zur Verfügung: | |
- | * Es stehen folgende Datentypen zur Verfügung: | + | |
* Fließkomma | * Fließkomma | ||
* Ganzzahl | * Ganzzahl | ||
Zeile 16: | Zeile 21: | ||
===== Wertzuweisung ===== | ===== Wertzuweisung ===== | ||
- | |||
Variablen können in Formeln als konstante oder für Zwischenrechnungen verwendet werden. | Variablen können in Formeln als konstante oder für Zwischenrechnungen verwendet werden. | ||
+ | < | ||
x1 = ref1 + IF( ref2 < 10, ref3 - 5, ref4 + 5 ); | x1 = ref1 + IF( ref2 < 10, ref3 - 5, ref4 + 5 ); | ||
+ | </ | ||
===== Arithmetik ===== | ===== Arithmetik ===== | ||
Zeile 29: | Zeile 35: | ||
|%%^%%|Potenzierung|%%3^2%%|9| | |%%^%%|Potenzierung|%%3^2%%|9| | ||
- | Die Negation von Funktionen ist nicht zulässig: | + | Die Negation von Funktionen ist nicht zulässig: |
- | Falsch: -SUM( x1; x2 ); | + | Falsch: -SUM( x1; x2 ); \\ |
- | Richtig: 0 - SUM( x1, x2 ); | + | Richtig: 0 - SUM( x1, x2 ); \\ |
- | Negation von Zahlen oder Variablen innerhalb arimethischer Ausdrücke ist ebenfalls nicht zulässig: | + | Negation von Zahlen oder Variablen innerhalb arimethischer Ausdrücke ist ebenfalls nicht zulässig: |
- | Falsch: X1 + -X2; | + | Falsch: X1 + -X2; \\ |
- | Richtig: X1 - X1; | + | Richtig: X1 - X1; \\ |
- | Mehrfaches Potenzieren: | + | Mehrfaches Potenzieren: |
3^2^4; entspricht 3^(2^4); | 3^2^4; entspricht 3^(2^4); | ||
Zeile 75: | Zeile 81: | ||
**IF(Prüfung, | **IF(Prüfung, | ||
- | Liefert DannWert, wenn Prüfung TRUE ist. Ist DannWert nicht angegeben, wird TRUE zurückgegeben. | + | Liefert DannWert, wenn Prüfung TRUE ist. Ist DannWert nicht angegeben, wird TRUE zurückgegeben. |
- | Liefert SonstWert, wenn Prüfung FALSE ist. Ist SonstWert nicht angegeben, wird FALSE zurückgegeben. | + | Liefert SonstWert, wenn Prüfung FALSE ist. Ist SonstWert nicht angegeben, wird FALSE zurückgegeben. |
- | Für die Erstellung komplexerer Bedingungen lassen sich maximal sieben IF-Funktionen verschachteln. | + | Für die Erstellung komplexerer Bedingungen lassen sich maximal sieben IF-Funktionen verschachteln. |
- | Sobald die Argumente DannWert und SonstWert ausgewertet sind, liefert IF den Wert, den diese Anweisungen zurückgeben. | + | Sobald die Argumente DannWert und SonstWert ausgewertet sind, liefert IF den Wert, den diese Anweisungen zurückgeben. |
- | Ist eines der an eine IF-Funktion übergebende | + | Ist eines der an eine IF-Funktion übergebende |
- | Sind einige der als DannWert und SonstWert übergebenen Argumente ausführbare Funktionen, werden diese vollständig ausgeführt. | + | Sind einige der als DannWert und SonstWert übergebenen Argumente ausführbare Funktionen, werden diese vollständig ausgeführt. |
- | Beispiel: | + | Beispiel: |
- | IF(A==B, 100, 0); ergibt 100, wenn A identisch B ist. | + | < |
- | IF(Gesamtsumme> | + | < |
- | **Beachten Sie, dass das weglassen des Dannwert | + | <note important> |
- | Sie sollten immer beide Fälle angeben, um Formelfehler in nachfolgenden Formeln zu vermeiden. | + | Sie sollten immer beide Fälle angeben, um Formelfehler in nachfolgenden Formeln zu vermeiden.</ |
- | ** | + | \\ |
**SWITCH(Testwert, | **SWITCH(Testwert, | ||
- | Liefert AnweisungN, wenn VergleichN identisch ist mit Testwert. | + | Liefert AnweisungN, wenn VergleichN identisch ist mit Testwert. |
Diese Funktion benötigt mindestens drei Argumente. | Diese Funktion benötigt mindestens drei Argumente. | ||
- | Als Argument kann der String " | + | Als Argument kann der String " |
- | + | Beispiel: | |
- | Beispiel: | + | < |
SWITCH(BEN1_deu, | SWITCH(BEN1_deu, | ||
" | " | ||
" | " | ||
" | " | ||
+ | </ | ||
ergibt " | ergibt " | ||
- | **Beachten Sie, dass " | + | <note important> |
===== Mathematik & Statistik ===== | ===== Mathematik & Statistik ===== | ||
Zeile 229: | Zeile 237: | ||
**ADDLINE(Text1, | **ADDLINE(Text1, | ||
- | Fügt eine beliebige Anzahl von Texten aneinander und trennt die einzelenen | + | Fügt eine beliebige Anzahl von Texten aneinander und trennt die einzelnen |
+ | **CONCAT_WS(separator, | ||
+ | Fügt eine beliebige Anzahl von Texten aneinander und trennt die einzelnen Texte durch den separator, wenn der nächste Text nicht leer ist. | ||
\\ | \\ | ||
===== Pfade und Dateinamen ===== | ===== Pfade und Dateinamen ===== | ||
Zeile 323: | Zeile 333: | ||
**SELECT(" | **SELECT(" | ||
Führt eine Datenbankabfrage in folgender Form : \\ | Führt eine Datenbankabfrage in folgender Form : \\ | ||
- | < | + | < |
**GETSETTING(" | **GETSETTING(" | ||
+ | Gibt einen Konfigurationparameter zurück. \\ | ||
**SETSETTING(" | **SETSETTING(" | ||
- | + | Setzt einen Konfiguraitonsparmeter. | |
- | **CTNRPROP(" | + | |
- | + | ||
- | **PROP(" | + | |
+ | /* | ||
===== Einschränkungen ===== | ===== Einschränkungen ===== | ||
Zeile 347: | Zeile 356: | ||
Logische Verknüpfungen\\ | Logische Verknüpfungen\\ | ||
Sonstige Funktionen\\ | Sonstige Funktionen\\ | ||
+ | */ |