Funktion CalculateAggregations
Informationen
- Kategorien: Kernel | Klassenformeln
- Version: 12.1.0.1482
- Veröffentlichungsdatum: Mittwoch, 25. November 2009
- Entwickler: Götzen
- Benötigt Datenbankänderung: Nein
- Betreff: Funktion CalculateAggregations
Beschreibung
Die Funktion CalculateAggregations() in den Klassenformeln, errechnet die Zusammenfassungen bestimmter Attribute z.B. Summe, Durchschnitt, Maximalwert... aus der Ergebnismenge eines übergebenen Filters. Die Zusammenfassungen werden als Aggregatfunktionen direkt an die Datenbank weitergegeben wodurch die Netzwerklast reduziert und Performanceprobleme vermindert werden können.
Beispielcode
ondisplayfunction
{
if ( IsPageButtonContext() )
{
SetFunctionLabel( "Gerätezusammenfassung ermitteln" );
EnableFunction( 1 );
ShowFunction( 1 );
}
}
oncallfunction
{
var string $filterName;
var int $iIndex;
var string $Attributes[4];
var string $Functions[4];
var double $Resultlist[];
var string $sResult;
$filterName = GetPath( 3, 6, "System\\Geraet\\Alle_Unter_einem_Gebäude", "flt", 2 );
$Attributes[0] = "Investment_price";
$Functions[0] = "SUM";
$Attributes[1] = "Replacement_cost";
$Functions[1] = "AVG";
$Attributes[2] = "Maintenance_limit";
$Functions[2] = "MAX";
$Attributes[3] = "ID";
$Functions[3] = "COUNT";
if( CalculateAggregations( $filterName, 8 + 16, this, $Attributes, $Functions, $Resultlist ))
{
$iIndex = 0;
while ( $iIndex < 4 )
{
$sResult = $sResult + $Functions[ $iIndex ] + " " + $Attributes[ $iIndex ] + ": " + DoubleToStr( $Resultlist[ $iIndex ], 2, ",", "." ) + "\n";
$iIndex = $iIndex + 1;
}
MessageBox( $sResult );
}
}