Minimum-Maximum-Summe: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
(CountIF( list, condition ))
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 91: Zeile 91:
 
|<code>MaxIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime)</code>||120M
 
|<code>MaxIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime)</code>||120M
 
|-
 
|-
|colspan="2"|<code>ME.Operation</code> ist hier Auftrag "01".
+
|colspan="2"|<code>ME</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
Zeile 105: Zeile 105:
 
|-
 
|-
 
|}
 
|}
 
  
 
=== MaxValue( value1, value2 ) ===
 
=== MaxValue( value1, value2 ) ===
Zeile 156: Zeile 155:
 
|}
 
|}
  
Min( Objekt, Eigenschaft )
+
=== MaxObject( list, prop ) ===
 
+
{| class="wikitable"
Parameter
+
|-
 
+
!rowspan="2"|Parameter
 
+
|width="1px"|''list''||colspan="2"|Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
{|
+
|-
 +
|''prop''||colspan="2"|Zieleigenschaft
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Gibt das Objekt zurück, dessen ''prop'' den maximalen Wert in ''list'' hat.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>MaxObject('Order',TARGET.Qty)</code>||width="1px"|03||Auftragsobjekt
 +
|-
 +
|colspan="3"|
 +
{| class="wikitable
 
|-
 
|-
|   ||Liste||Klassenname|| 
+
|+ Auftragstabelle
 
|-
 
|-
||   ||Eigenschaft||Eigenschaft
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0;"|50
 +
|- style="background: #DFEBF4;"
 +
|02||Artikel A||align="right" style="background: #A1FFD0;"|35
 +
|- style="background: white"
 +
|style=" border-width: 2px; border-color: red;"|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
Rückgabewert
+
|<code>Max(ME.Child,TARGET.Work_OperationProductionTime)</code>||01:20||Vorgangsobjekt
 
+
|-
 
+
|colspan="3"|<code>ME.Operation</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||Gibt den Minimalwert einer Eigenschaft in einer hinterlegten Objektliste aus.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
=== MaxObjectIF( list, condition, prop ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="3"|Parameter
 +
|width="1px"|''list''||colspan="2"|Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 +
|-
 +
|''condition''||colspan="2"|Filterbedingung
 +
|-
 +
|''prop''||colspan="2"|Zieleigenschaft
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Gibt das Objekt zurück, dessen ''prop'' den maximalen Wert in ''list'' hat und ''condition'' erfüllt.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>MaxObjectIF('Order',TARGET.Item=='Artikel A',TARGET.Qty)</code>||width="1px"|01||Auftragsobjekt
 +
|-
 +
|colspan="3"|
 +
{| class="wikitable
 +
|-
 +
|+ Auftragstabelle
 
|-
 
|-
|   ||Min('Auftrag', Target.'Auftragsmenge') -> 20<br /><br />Es existieren drei Einträge in der Auftragstabelle. Gibt die minimale Auftragsmenge (20) in der Auftragsliste aus.||  
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|style=" border-width: 2px; border-color: red;"|01||Artikel A||align="right" style="background: #A1FFD0;"|50
 +
|- style="background: #DFEBF4;"
 +
|02||Artikel A||align="right" style="background: #A1FFD0;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
 
+
|<code>MaxObjectIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime)</code>||01:30||Vorgangsobjekt
[[Image:incodefunc-min01.jpg]]
+
|-
 
+
|colspan="3"|<code>ME</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||Min(ME.Child,TARGET.Work_OperationProductionTime) -> 3600<br /><br />ME.Child ist der Auftrag. Gibt die minimale Produktionszeit (3600s) in der Auftragsliste wieder.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px;padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red;  padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
 
+
== Minimum ==
[[Image:incodefunc-min02.jpg]]
+
=== Min( list, prop ) ===
&nbsp;
+
{| class="wikitable"
 
+
|-
MinIF( Liste, Bedingung, Eigenschaft )
+
!rowspan="2"|Parameter
 
+
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
Parameter
+
|-
 
+
|''prop''||Zieleigenschaft
 
+
|-
{|
+
!Rückgabewert
 +
|colspan="2"|Gibt den minimalen Wert von ''prop'' in ''list'' zurück.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>Min('Order',TARGET.Qty)</code>||35
 
|-
 
|-
|   ||Liste||Klassenname|| 
+
|colspan="2"|
 +
{| class="wikitable
 
|-
 
|-
||  ||Bedingung||Bedingung zum Filtern der Liste
+
|+ Auftragstabelle
 
|-
 
|-
||   ||Eigenshaft||Eigenschaft
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0;"|50
 +
|- style="background: #DFEBF4;"
 +
|02||Artikel A||align="right" style="background: #A1FFD0; border-width: 2px; border-color: red;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
Rückgabewert
+
|<code>Min(ME.Child,TARGET.Work_OperationProductionTime)</code>||60M
 
+
|-
 
+
|colspan="2"|<code>ME.Operation</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||Gibt den minimalen Wert der spezifizierten Eigenschaften für Objekte der Liste, unter Berücksichtigung der Bedingungen, aus.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px;; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
=== MinIF( list, condition, prop ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="3"|Parameter
 +
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 +
|-
 +
|''condition''||Filterbedingung
 +
|-
 +
|''prop''||Zieleigenschaft
 +
|-
 +
!Rückgabewert
 +
|colspan="2"|Gibt den minimalen Wert von ''prop'' in ''list'' zurück, solange ''condition'' erfüllt wird.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>MinIF('Order',TARGET.Item=='Artikel A',TARGET.Qty)</code>||35
 +
|-
 +
|colspan="2"|
 +
{| class="wikitable
 +
|-
 +
|+ Auftragstabelle
 
|-
 
|-
|   ||MinIF('Auftrag',TARGET.Item=='ProduktA',TARGET.'Auftragsmenge') -> 35<br /><br />Es existieren drei Einträge in der Auftragstabelle. Gibt den minimalen Wert der Auftragsmenge (35) in der Auftragsliste wieder, dessen Artikel "ProduktA" lautet.||  
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0;"|50
 +
|- style="background: #DFEBF4;"
 +
|02||Artikel A||align="right" style="background: #A1FFD0; border-width: 2px; border-color: red;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
 
+
|<code>MinIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime)</code>||60M
[[Image:incodefunc-minif01.jpg]]
+
|-
 
+
|colspan="2"|<code>ME</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||MinIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) -> 3600<br /><br />ME.Child ist der Auftrag. Gibt die minimale Produktionszeit (3600s) der Vorgänge der Aufträge aus, deren Prozessnummer größer oder gleich 30 ist.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
 
+
=== MinValue( value1, value2 ) ===
[[Image:incodefunc-minif02.jpg]]
+
{| class="wikitable"
&nbsp;
+
|-
 
+
!rowspan="2"|Parameter
Sum( Liste, Eigenschaft )
+
|width="1px"|''value1''||Erster Vergleichswert
 
+
|-
Parameter
+
|''value2''||Zweiter Vergleichswert
 
+
|-
 
+
!Rückgabewert
{|
+
|colspan="2"|Gibt den kleineren Wert von ''value1'' und ''value2'' zurück.
 +
|-
 +
!rowspan="15"|Beispiele
 +
|<code>MinValue(1.2,3.4)</code>||1.2
 +
|-
 +
|colspan="2"|Bei Zahlen wird direkt verglichen welche kleiner ist.
 +
|-
 +
|<code>MinValue('ab','cd')</code>||"ab"
 +
|-
 +
|<code>MinValue('Ab','cd')</code>||"cd"
 +
|-
 +
|colspan="2"|Strings werden lexikographisch (Kleinbuchstaben vor Großbuchstaben) ausgewertet.
 +
|-
 +
|<code>MinValue(#2020/01/01#,#2021/01/01#)</code>||01/01/2020
 +
|-
 +
|colspan="2"|Frühere Daten haben den kleineren Wert.
 +
|-
 +
|<code>MinValue(TRUE,FALSE)</code>||FALSE
 +
|-
 +
|colspan="2"|TRUE wird als größer als FALSE angesehen.
 +
|-
 +
|<code>MinValue(RGB(12,34,56),RGB(98,76,54))</code>||RGB(12,34,56)
 +
|-
 +
|colspan="2"|Bei Farben werden die numerischen Werte in der Reihenfolge "R", "G" und "B" verglichen.
 +
|-
 +
|<code>MinValue(''<Eigenschaft ohne Wert>'',123)</code>||123
 +
|-
 +
|<code>MinValue(123,''<Eigenschaft ohne Wert>'')</code>||123
 +
|-
 +
|<span style="white-space: nowrap;"><code>MinValue(''<Eigenschaft ohne Wert>'',''<Eigenschaft ohne Wert>'')</code></span>||''kein Wert''
 
|-
 
|-
|   ||Liste||Klassenname oder eine Objekttyp-Eigenschaft|| 
+
|colspan="2"|Enthält einer der Parameter keinen Wert, so wird der andere Wert zurückgegeben.
 
|-
 
|-
||   ||Eigenschaft||Zieleigenschaft
+
!Hinweise
 +
|colspan="2"|
 +
* ''value1'' und ''value2'' können vertauscht werden, ohne dass sich der Rückgabewert ändert.
 +
* Haben ''value1'' und ''value2'' unterschiedliche Datentypen, so ist der Rückgabewert nicht definiert.
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== MinObject( list, prop ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="2"|Parameter
 +
|width="1px"|''list''||colspan="2"|Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 +
|-
 +
|''prop''||colspan="2"|Zieleigenschaft
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Gibt das Objekt zurück, dessen ''prop'' den minimalen Wert in ''list'' hat.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>MinObject('Order',TARGET.Qty)</code>||width="1px"|02||Auftragsobjekt
 +
|-
 +
|colspan="3"|
 +
{| class="wikitable
 +
|-
 +
|+ Auftragstabelle
 
|-
 
|-
|   ||Gibt die Summe der Werte einer hinterlegten Eigenschaft für Objekte einer Liste aus.||  
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0;"|50
 +
|- style="background: #DFEBF4;"
 +
|style=" border-width: 2px; border-color: red;"|02||Artikel A||align="right" style="background: #A1FFD0;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
Beispiel
+
|<code>Min(ME.Child,TARGET.Work_OperationProductionTime)</code>||01:40||Vorgangsobjekt
 
+
|-
 
+
|colspan="3"|<code>ME.Operation</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||Sum('Auftrag', Target.'Auftragsmenge') -> 105<br /><br />Es existieren drei Einträge in der Auftragstabelle. Gibt die gesamte Anzahl (105) der Aufträge wieder.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
 
+
=== MinObjectIF( list, condition, prop ) ===
[[Image:incodefunc-sum01.jpg]]
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="3"|Parameter
 +
|width="1px"|''list''||colspan="2"|Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 +
|-
 +
|''condition''||colspan="2"|Filterbedingung
 +
|-
 +
|''prop''||colspan="2"|Zieleigenschaft
 
|-
 
|-
|   ||Sum(ME.Child,TARGET.Work_OperationProductionTime) -> 28800<br /><br />ME.Child ist Auftrag. Gibt die Produktionszeit des Vorganges (28800s) (vom Auftrag) wieder.|| 
+
!Rückgabewert
 +
|colspan="3"|Gibt das Objekt zurück, dessen ''prop'' den minimalen Wert in ''list'' hat und ''condition'' erfüllt.
 
|-
 
|-
|}
+
!rowspan="4"|Beispiele
 
+
|<code>MinObjectIF('Order',TARGET.Item=='Artikel A',TARGET.Qty)</code>||width="1px"|02||Auftragsobjekt
 
 
[[Image:incodefunc-sum02.jpg]]
 
&nbsp;
 
 
 
SumIF( Liste, Bedingung, Eigenschaft )
 
 
 
Parameter
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Liste||Klassenname oder Objektliste|| 
+
|colspan="3"|
 +
{| class="wikitable
 
|-
 
|-
||  ||Bedingung||Bedingung zum Filtern der Liste
+
|+ Auftragstabelle
 
|-
 
|-
||   ||Eigenshaft||Eigenschaft
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0;"|50
 +
|- style="background: #DFEBF4;"
 +
|style=" border-width: 2px; border-color: red;"|02||Artikel A||align="right" style="background: #A1FFD0;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
Rückgabewert
+
|<code>MinObjectIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime)</code>||01:40||Vorgangsobjekt
 
+
|-
 
+
|colspan="3"|<code>ME</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||Gibt die Summe der Werte hinterlegter Eigenschaften für Objekte einer Liste, unter Berücksichtigung von Bedingungen, aus.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px;padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
== Summe etc. ==
 
+
=== Sum( list, prop ) ===
 
+
{| class="wikitable"
{|
+
|-
 +
!rowspan="2"|Parameter
 +
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 +
|-
 +
|''prop''||Zieleigenschaft
 +
|-
 +
!Rückgabewert
 +
|colspan="2"|Gibt die Summe der Werte von ''prop'' in ''list'' zurück.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>Sum('Order',TARGET.Qty)</code>||155
 +
|-
 +
|colspan="2"|
 +
{| class="wikitable
 +
|-
 +
|+ Auftragstabelle
 
|-
 
|-
|   ||SumIF('Auftragr',TARGET.Item=='ProduktA',TARGET.'Auftragsmenge') -> 85<br /><br />Es existieren drei Einträge in der Auftragtabelle. Gibt die gesamte Auftragsmenge der Aufträge, deren Artikel "ProduktA" ist, aus.||  
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0; border-top: solid 2px red; border-left: solid 2px red; border-right: solid 2px red;"|50
 +
|- style="background: #DFEBF4;"
 +
|02||Artikel A||align="right" style="background: #A1FFD0; border-left: solid 2px red; border-right: solid 2px red;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0; border-left: solid 2px red; border-right: solid 2px red; border-bottom: solid 2px red;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
 
+
|<code>Sum(ME.Child,TARGET.Work_OperationProductionTime)</code>||600M
[[Image:incodefunc-sumif01.jpg]]
+
|-
 
+
|colspan="2"|<code>ME.Operation</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||SumIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) -> 10800<br /><br />ME.Child ist der Auftrag. Gibt die gesamte Produktionszeit (10800s) der Vorgänge aus, deren Prozessnummer größer oder gleich 30 ist.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
 
+
=== SumIF( list, condition, prop ) ===
[[Image:incodefunc-sumif02.jpg]]
+
{| class="wikitable"
&nbsp;
+
|-
 
+
!rowspan="3"|Parameter
Product( Liste, Eigenschaft )
+
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 
+
|-
Parameter
+
|''condition''||Filterbedingung
 
+
|-
 
+
|''prop''||Zieleigenschaft
{|
+
|-
 +
!Rückgabewert
 +
|colspan="2"|Gibt die Summe der Werte von ''prop'' in ''list'' zurück, solange ''condition'' erfüllt wird.
 +
|-
 +
!rowspan="4"|Beispiele
 +
|<code>SumIF('Order',TARGET.Item=='Artikel A',TARGET.Qty)</code>||85
 +
|-
 +
|colspan="2"|
 +
{| class="wikitable
 
|-
 
|-
|   ||Liste||Objektklassenname (String) oder Objektliste|| 
+
|+ Auftragstabelle
 
|-
 
|-
||   ||Eigenschaft||Objekteigenschaft
+
!style="background: #3C78AE; color:white;"|Auftragscode
 +
!style="background: #3C78AE; color:white;"|Artikel
 +
!style="background: #3C78AE; color:white;"|Menge
 +
|- style="background: white"
 +
|01||Artikel A||align="right" style="background: #A1FFD0; border-top: solid 2px red; border-left: solid 2px red; border-right: solid 2px red;"|50
 +
|- style="background: #DFEBF4;"
 +
|02||Artikel A||align="right" style="background: #A1FFD0; border-left: solid 2px red; border-right: solid 2px red; border-bottom: solid 2px red;"|35
 +
|- style="background: white"
 +
|03||Artikel B||align="right" style="background: #A1FFD0;"|70
 
|-
 
|-
 
|}
 
|}
 
+
|-
Rückgabewert
+
|<code>SumIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime)</code>||180M
 
+
|-
 
+
|colspan="2"|<code>ME</code> ist hier Auftrag "01".
 
{|
 
{|
 
|-
 
|-
|   ||Gibt den multiplizierten Wert hinterlegter Eigenschaften in Objektlisten wieder.||  
+
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px; padding: 5px;"|01:10<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 1px;padding: 5px;"|01:20<br>3H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:30<br>2H
 +
|&#x2192;
 +
|style="background-color:#A1FFD0; border-style: solid; border-width: 2px; border-color: red; padding: 5px;"|01:40<br>1H
 +
|-
 +
|}
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
=== Product( list, prop ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="2"|Parameter
 +
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 +
|-
 +
|''prop''||Zieleigenschaft
 
|-
 
|-
|   ||  || 
+
!Rückgabewert
 +
|colspan="2"|Gibt das Produkt der Werte von ''prop'' in ''list'' zurück.
 
|-
 
|-
 
|}
 
|}
  
ProductIF( Liste, Bedingung, Eigenschaft )
+
=== ProductIF( list, condition, prop ) ===
 
+
{| class="wikitable"
Parameter
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Liste||Objektklassenname (String) oder Objektliste|| 
+
!rowspan="3"|Parameter
 +
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 
|-
 
|-
||   ||Bedingung||Filterformel
+
|''condition''||Filterbedingung
 
|-
 
|-
||   ||Eigenschaft||Objekteigenschaft
+
|''prop''||Zieleigenschaft
 +
|-
 +
!Rückgabewert
 +
|colspan="2"|Gibt das Produkt der Werte von ''prop'' in ''list'' zurück, solange ''condition'' erfüllt wird.
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== Equal( prop ) ===
 
+
{| class="wikitable"
 
 
{|
 
 
|-
 
|-
|   ||Gibt den multiplizierten Wert in hinterlegten Eigenschaften in gefilterten Objektlisten wieder.|
+
!Parameter
 +
|width="1px"|''prop''||Zieleigenschaft
 
|-
 
|-
|}
+
!Rückgabewert
 
+
|colspan="2"|Gibt die Summe der Werte von ''prop'' in ''list'' zurück.
Beispiel
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||   || 
+
!rowspan="2"|Beispiele
 +
|colspan="2"|<code>Equal(ME.Order.Customer)</code>
 
|-
 
|-
|}
+
|colspan="2"|[[Image:Incodefunc-equal01.png]]<br>Aufträge werden verknüpft, wenn deren [Kunde] gleich ist.
 
 
Equal( Eigenschaft )
 
 
 
Parameter
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Eigenschaft||Zieleigenschaft|| 
+
!Hinweise
 +
|colspan="2"|
 +
* Diese Funktion wird nur in der [Verknüpfungsbedingung] von Artikeln genutzt.
 +
* <code>Equal(ME.Order.Customer)</code> entspricht <code>ME.Order.Customer==OTHER.Order.Customer</code>.
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== CountIF( list, condition ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="2"|Parameter
 +
|width="1px"|''list''||Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
 
|-
 
|-
|   ||Vergleich mit der Zieleigenschft; gibt WAHR bei Übereinstimmung, und FALSCH bei Abweichung, aus.|| 
+
|''condition''||Filterbedingung
 
|-
 
|-
|}
+
!Rückgabewert
 
+
|colspan="2"|Gibt die Anzahl der Objekte in ''list'' zurück, für die ''condition'' erfüllt wird.
Beispiel
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Equal(ME.Order.Customer)<br /><br />Verbindet Aufträge mit dem gleichen Ausdruck ME.Order.Costumer. Auftrag 01 und Auftrag 02 haben den gleichen KundenA. Der Kunde des Auftrages 03 ist abweichend (KundeB).|| 
+
!rowspan="2"|Beispiele
 +
|<code>CountIf(ME.Operations,TARGET.Status!="B")</code>||Wenn <code>ME</code> ein Auftrag ist, wird zurückgegeben, wie viele seiner Vorgänge nicht beendet sind.
 
|-
 
|-
|}
+
|<code>CountIf(ME.Order.RightmostOrder,TARGET.Lateness>0s)</code>||Wenn <code>ME</code> ein Vorgang ist, wird zurückgegeben, wie viele der verknüpften Aufträge für Endprodukte verspätet sind.
 
 
 
 
[[Image:incodefunc-equal01.jpg]]
 
 
 
Hinweise
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Diese Funktion kann lediglich in den Verknüpfungseigenschaften der Artikelklasse verwendet werden. Equal(Me.Order.Customer) hat die gleiche Bedeutung wie ME.Order.Customer == Other.Order.Customer.|
+
!Hinweise
 +
|colspan="2"|
 +
* <code>CountIf(list,condition)</code> gibt das gleiche Ergebnis zurück wie [[#SumIF.28_list.2C_condition.2C_prop_.29|<code>SumIf(list,condition,1)</code>]], ist aber etwas schneller.
 +
* Es gibt diese Funktion nicht ohne ''condition'', nutzen Sie dafür stattdessen [[Eigenschaft#PropCount.28_prop_.29|<code>PropCount()</code>]].
 
|-
 
|-
 
|}
 
|}

Aktuelle Version vom 7. Mai 2025, 07:14 Uhr

Hilfe Nummer: 741570
Interne Funktionen
Formeleditor

Asprova stellt Ihnen die folgenden Funktionen zum Ermitteln von Maximum, Minimum, Summe etc. zur Verfügung.

Maximum

Max( list, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
prop Zieleigenschaft
Rückgabewert Gibt den maximalen Wert von prop in list zurück.
Beispiele Max('Order',TARGET.Qty) 70
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
Max(ME.Child,TARGET.Work_OperationProductionTime) 180M
ME.Operation ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

MaxIF( list, condition, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
prop Zieleigenschaft
Rückgabewert Gibt den maximalen Wert von prop in list zurück, solange condition erfüllt wird.
Beispiele MaxIF('Order',TARGET.Item=='Artikel A',TARGET.Qty) 50
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
MaxIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) 120M
ME ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

MaxValue( value1, value2 )

Parameter value1 Erster Vergleichswert
value2 Zweiter Vergleichswert
Rückgabewert Gibt den größeren Wert von value1 und value2 zurück.
Beispiele MaxValue(1.2,3.4) 3.4
Bei Zahlen wird direkt verglichen welche größer ist.
MaxValue('ab','cd') "cd"
MaxValue('Ab','cd') "Ab"
Strings werden lexikographisch (Großbuchstaben vor Kleinbuchstaben) ausgewertet.
MaxValue(#2020/01/01#,#2021/01/01#) 01/01/2021
Spätere Daten haben den größeren Wert.
MaxValue(TRUE,FALSE) TRUE
TRUE wird als größer als FALSE angesehen.
MaxValue(RGB(12,34,56),RGB(98,76,54)) RGB(98,76,54)
Bei Farben werden die numerischen Werte in der Reihenfolge "R", "G" und "B" verglichen.
MaxValue(<Eigenschaft ohne Wert>,123) 123
MaxValue(123,<Eigenschaft ohne Wert>) 123
MaxValue(<Eigenschaft ohne Wert>,<Eigenschaft ohne Wert>) kein Wert
Enthält einer der Parameter keinen Wert, so wird der andere Wert zurückgegeben.
Hinweise
  • value1 und value2 können vertauscht werden, ohne dass sich der Rückgabewert ändert.
  • Haben value1 und value2 unterschiedliche Datentypen, so ist der Rückgabewert nicht definiert.

MaxObject( list, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
prop Zieleigenschaft
Rückgabewert Gibt das Objekt zurück, dessen prop den maximalen Wert in list hat.
Beispiele MaxObject('Order',TARGET.Qty) 03 Auftragsobjekt
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
Max(ME.Child,TARGET.Work_OperationProductionTime) 01:20 Vorgangsobjekt
ME.Operation ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

MaxObjectIF( list, condition, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
prop Zieleigenschaft
Rückgabewert Gibt das Objekt zurück, dessen prop den maximalen Wert in list hat und condition erfüllt.
Beispiele MaxObjectIF('Order',TARGET.Item=='Artikel A',TARGET.Qty) 01 Auftragsobjekt
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
MaxObjectIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) 01:30 Vorgangsobjekt
ME ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

Minimum

Min( list, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
prop Zieleigenschaft
Rückgabewert Gibt den minimalen Wert von prop in list zurück.
Beispiele Min('Order',TARGET.Qty) 35
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
Min(ME.Child,TARGET.Work_OperationProductionTime) 60M
ME.Operation ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

MinIF( list, condition, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
prop Zieleigenschaft
Rückgabewert Gibt den minimalen Wert von prop in list zurück, solange condition erfüllt wird.
Beispiele MinIF('Order',TARGET.Item=='Artikel A',TARGET.Qty) 35
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
MinIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) 60M
ME ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

MinValue( value1, value2 )

Parameter value1 Erster Vergleichswert
value2 Zweiter Vergleichswert
Rückgabewert Gibt den kleineren Wert von value1 und value2 zurück.
Beispiele MinValue(1.2,3.4) 1.2
Bei Zahlen wird direkt verglichen welche kleiner ist.
MinValue('ab','cd') "ab"
MinValue('Ab','cd') "cd"
Strings werden lexikographisch (Kleinbuchstaben vor Großbuchstaben) ausgewertet.
MinValue(#2020/01/01#,#2021/01/01#) 01/01/2020
Frühere Daten haben den kleineren Wert.
MinValue(TRUE,FALSE) FALSE
TRUE wird als größer als FALSE angesehen.
MinValue(RGB(12,34,56),RGB(98,76,54)) RGB(12,34,56)
Bei Farben werden die numerischen Werte in der Reihenfolge "R", "G" und "B" verglichen.
MinValue(<Eigenschaft ohne Wert>,123) 123
MinValue(123,<Eigenschaft ohne Wert>) 123
MinValue(<Eigenschaft ohne Wert>,<Eigenschaft ohne Wert>) kein Wert
Enthält einer der Parameter keinen Wert, so wird der andere Wert zurückgegeben.
Hinweise
  • value1 und value2 können vertauscht werden, ohne dass sich der Rückgabewert ändert.
  • Haben value1 und value2 unterschiedliche Datentypen, so ist der Rückgabewert nicht definiert.

MinObject( list, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
prop Zieleigenschaft
Rückgabewert Gibt das Objekt zurück, dessen prop den minimalen Wert in list hat.
Beispiele MinObject('Order',TARGET.Qty) 02 Auftragsobjekt
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
Min(ME.Child,TARGET.Work_OperationProductionTime) 01:40 Vorgangsobjekt
ME.Operation ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

MinObjectIF( list, condition, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
prop Zieleigenschaft
Rückgabewert Gibt das Objekt zurück, dessen prop den minimalen Wert in list hat und condition erfüllt.
Beispiele MinObjectIF('Order',TARGET.Item=='Artikel A',TARGET.Qty) 02 Auftragsobjekt
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
MinObjectIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) 01:40 Vorgangsobjekt
ME ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

Summe etc.

Sum( list, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
prop Zieleigenschaft
Rückgabewert Gibt die Summe der Werte von prop in list zurück.
Beispiele Sum('Order',TARGET.Qty) 155
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
Sum(ME.Child,TARGET.Work_OperationProductionTime) 600M
ME.Operation ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

SumIF( list, condition, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
prop Zieleigenschaft
Rückgabewert Gibt die Summe der Werte von prop in list zurück, solange condition erfüllt wird.
Beispiele SumIF('Order',TARGET.Item=='Artikel A',TARGET.Qty) 85
Auftragstabelle
Auftragscode Artikel Menge
01 Artikel A 50
02 Artikel A 35
03 Artikel B 70
SumIF(ME.Child,TARGET.Work_OperationProcNo>=30,TARGET.Work_OperationProductionTime) 180M
ME ist hier Auftrag "01".
01:10
2H
01:20
3H
01:30
2H
01:40
1H

Product( list, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
prop Zieleigenschaft
Rückgabewert Gibt das Produkt der Werte von prop in list zurück.

ProductIF( list, condition, prop )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
prop Zieleigenschaft
Rückgabewert Gibt das Produkt der Werte von prop in list zurück, solange condition erfüllt wird.

Equal( prop )

Parameter prop Zieleigenschaft
Rückgabewert Gibt die Summe der Werte von prop in list zurück.
Beispiele Equal(ME.Order.Customer)
Incodefunc-equal01.png
Aufträge werden verknüpft, wenn deren [Kunde] gleich ist.
Hinweise
  • Diese Funktion wird nur in der [Verknüpfungsbedingung] von Artikeln genutzt.
  • Equal(ME.Order.Customer) entspricht ME.Order.Customer==OTHER.Order.Customer.

CountIF( list, condition )

Parameter list Klassenname oder Eigenschaft mit [Datentyp] "Objekt"
condition Filterbedingung
Rückgabewert Gibt die Anzahl der Objekte in list zurück, für die condition erfüllt wird.
Beispiele CountIf(ME.Operations,TARGET.Status!="B") Wenn ME ein Auftrag ist, wird zurückgegeben, wie viele seiner Vorgänge nicht beendet sind.
CountIf(ME.Order.RightmostOrder,TARGET.Lateness>0s) Wenn ME ein Vorgang ist, wird zurückgegeben, wie viele der verknüpften Aufträge für Endprodukte verspätet sind.
Hinweise
  • CountIf(list,condition) gibt das gleiche Ergebnis zurück wie SumIf(list,condition,1), ist aber etwas schneller.
  • Es gibt diese Funktion nicht ohne condition, nutzen Sie dafür stattdessen PropCount().



Hilfe Nummer: 741570