⯇ Zurück zu Allgemeine Elemente der Benutzeroberfläche
Handbuch: MIKE+ Model Manager User Guide, section 21: Expression Editor
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:
Sreenshot des Dialogfeldes einfügen
Linkziel: Direktlink zum Original
Anordung: zentriert
Bildgröße: auf etwa 2/3 des Originals setzen (bezieht sich auf Breite)
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 |
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 |
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 |
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 |
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) |
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.
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 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 |