Page Title

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeplus:dialog:expression-editor

Ausdrucks-Editor

⯇ Zurück zu Allgemeine Elemente der Benutzeroberfläche

Handbuch: MIKE+ Model Manager User Guide, section 21: Expression Editor

Einleitung

Den Ausdrucks-Editor werden Sie zumeist verwenden, um einr Feldberechnung durchzuführen. Er bietet eine einheitliche Oberfläche, um beliebig komplexe Ausdrücke zu gestalten, und kommt in MIKE+ aber an mehreren Stellen vor:

  • Durchführen von Feldberechnungen
  • Erstellen von Ausdrücken in der Import-Export-Schnittstelle
  • Definition von Steuerungen in der Siedlungsentwässerung
  • Erstellen von Filtern in Berichten

Dialogfeld

FIXME Sreenshot des Dialogfeldes einfügen
Linkziel: Direktlink zum Original
Anordung: zentriert
Bildgröße: auf etwa 2/3 des Originals setzen (bezieht sich auf Breite)

Allgemeines

  • Variablen mit eckigen Klammern einschließen: [Diameter]
  • Für numerische Werte DezimalPUNKT verwenden: 1.5
  • Textfeld in doppelten Anführungszeichen einschließen: "PVC"
  • DropDown-Felder über <Domänen> auswählen bzw. Position angeben
  • Felder <NULL> setzen mit: NULL (groß geschrieben, keine Anführungszeichen)

Operatoren

Arithmetische Operatoren

Operator Erklärung
+ Addition
3 + 4 (ergibt 7)
+ Textverknüpfung
"Apfel" + "baum" (ergibt Apfelbaum)
- Subtraktion
9 - 6 (ergibt 3)
* Multiplikation
4 * 3 (ergibt 12)
/ Division
9 /2 (ergibt 4.5)
% Rest bei einer Integer-Division
9 % 2 (ergibt 1)
Testen :!:

Logische Operatoren

Operator Erklärung
&& UND
|| ODER
== ist gleich
<> ist ungleich
!= ist ungleich
< ist kleiner als
<= ist kleiner gleich
> ist größer
>= ist größer gleich
! NICHT

Funktionen

Mathematische Funktionen

Funktion Erklärung
Abs (Number/Time Span) Absolute value of a number
Acos (Number) Arccosine, or inverse cosine, of a number
Asin (Number) Arcsine, or inverse sine, of a number
Atan (Number) Arctangent, or inverse tangent, of a number
Atan2 (Number) Arctangent of the specified x- and y-coordinates
Ceiling (Number) Number rounded up, away from zero
Cos (Number) Cosine of the given angle
Cosh (Number) Hyperbolic cosine of a number
Exp (Number) e raised to the power of number
Floor (Number) Rounds number down, toward zero
Log (Number) Returns the logarithm of a number to the base e.
Log10 (Number) Returns the base-10 logarithm of a number.
Max (Number /DateTime/TimeSpan) Largest of the two values
Min (Number/DateTime/TimeSpan) Smallest of the two values
Pow (Base,Exponent) Number raised to a power1)
Power (Base,Exponent) Number raised to a power2)
Round (Number) Rounds a number to a specified number of digits
Sign (Number) Determines the sign of a number
Sin (Number) sine of the given angle
Sinh (Number) Hyperbolic sine of a number
Sqrt (Number) Returns a positive square root
Tan (Number) Tangent of the given angle
Tanh (Number) hyperbolic tangent of a number
ToDouble siehe unten
Tolnt (Double) Rounds a number down to the nearest integer
Truncate (Double) Removes the fractional part of the number

Text-Funktionen

Funktion Erklärung
Concat (strings) Combine text from multiple ranges and/or strings
Contains (string, string) To check if a string contains another string
EndsWith (string, string) To check if a string ends with the given suffix
Starts With (string, string) To check if a string starts with the given prefix
Substring (string,startlndex[,length]) To get the substring from the source string
Index startet mit 0. Substring("Suppenteller",4,4) ergibt "ente"
ToString (Number/DateTime/TimeSpan) Converts argument to a string
Trim (string) Eliminates leading and trailing spaces

Funktionen von Datum und Zeit

Funktion Erklärung
DateTimeFromString (String)
Day (DateTime) Returns the day of a date & time, represented by a serial number
DayFraction (DateTime)
DayOfWeek (DateTime)
DayOfYear (DateTime)
Days (TimeSpan)
Hour (DateTime)
Hours (TimeSpan)
Millis (DateTime/TimeSpan)
Minute (DateTime)
Minutes (TimeSpan)
Month (DateTime)
Now
Second (DateTime)
Seconds (TimeSpan)
Ticks (DateTime/TimeSpan)
TimeOfDay (DateTime)
TimeSpanFromDays (Number)
TimeSpanFromHours (Number)
TimeSpanFromMinutes (Number)
TimeSpanFromSeconds (Number)
TimeSpanFromTicks (Long)
TotalDays (TimeSpan)
TotalHours (TimeSpan)
TotalMinutes (TimeSpan)
TotalSeconds (TimeSpan)
TotalYears (DateTime)
Year (DateTime)
YearFraction (DateTime)

ToDouble

Wenn man ein Integer-Feld in einer Funktion einbaut, wird das Ergebnis auf ganze Zahlen gerundet, als ob auch das Ergebnis ein Interger sein müsste. Das ist nicht immer richtig.

Leider fehlt uns zur Zeit ein Funktion ToDouble(Integer), welche das Problem lösen würde. Zumindest beim Importieren gibt es eine Behelfslösung, um den Integer-Wert in ein Double-Wert umzuwandeln und dann eine Berechung korrekt auszuführen:

In unten stehendem Beispiel weist eine Shape-Datei ein Feld „DimInt“ auf, das den Durchmesser des Schachtes als Integer enthält.

(1) Erstellen Sie auf der linken Seite des Import-Dialogs eine neue Variable.

(2) Geben Sie der Variable einen Namen und wählen Sie als Feldtyp „double“.

(3) Fügen Sie auf der rechten Seite eine Zuweisung ein, die den Integer-Wert in die Double-Variable schreibt.

(4) Fügen Sie eine weitere Zuweisung ein, in der Sie mit der Double-Variablen die gewünschte Berechnung durchführen.

Übrigens hilft Ihnen die gleiche Behelfslösung, wenn Ihre Originaldaten Text enthalten, den Sie als Double weiterverarbeiten möchten. Sie simulieren eine Funktion ToDouble(String), indem Sie analog zum obigen Beispiel mit einer Variable vom Feldtyp String arbeiten.

Bedingungen

Funktion Erklärung
If (condition, trueExpression, falseExpression) Testet eine Bedingung
Ifs (condition, value, (condition, value,]… defaultValue) Testet mehrere Bedingungen von links nach rechts, bis die erste zutrifft. Der letzte Eintrag beschreibt den Standardwert, der eintritt, wenn keine Bedingung erfüllt ist.

Lookup

Lookup wird nur beim Import/Export verwendet und scheint auch nur in dem Zusammenhang auf, siehe Importieren und Exportieren.

Funktion Erklärung
Lookup_Num ('SuchTabelle','SuchSpalte',[Eingangswert],'RückgabeSpalte') Returns a numerical value from another table
Lookup_string ('SuchTabelle','SuchSpalte',[Eingangswert],'RückgabeSpalte') Returns a string value from another table
Lookup_Date ('SuchTabelle','SuchSpalte',[Eingangswert],'RückgabeSpalte') Returns a date value from another table
1) , 2)
Pow und Power scheinen identisch zu funktionieren
mikeplus/dialog/expression-editor.txt · Zuletzt geändert: 2023/04/06 17:04 von thomas