Argomento precedente: Parametri nelle formule di business logicArgomento successivo: Esecuzione del test per formule di business logic


Formula di esempio completa

La seguente formula di business logic aggrega i valori di eventi Uptime, a un valore medio durante il periodo di applicazione del periodo di riferimento per la metrica.

Option Explicit

' Global variables declaration
Dim SumOfValues 'accumulates values of events
Dim NumOfValues 'counts number of events

Sub OnRegistration (dispatcher)
'Registration of "UpTime" event to be sent to "OnUpTimeEvent" procedure
dispatcher.RegisterByContractPartyAndService "OnUpTimeEvent" , "UpTime"
End Sub

Sub OnLoad(time)
'Initialization of global variables at the beginning of calculation
Sumofvalues = 0
Numofvalues = 0
End Sub

Sub OnPeriodStart(time)
'We reinitialize SumOfValues & NumOfValues at the beginning of each tracking period
Sumofvalues = 0
Numofvalues = 0
End Sub

Sub OnUpTimeEvent (upTimeEvent)
'We perform aggregation of event values, but only when inside a timeslot
If Context.IsWithinTimeSlot Then
SumOfValues = SumOfValues + upTimeEvent ("Value")
NumOfValues=  NumOfValues + 1
End If
End Sub

Function Result
If NumOfValues = 0 Then
Result = NULL
Else
Result = SumOfValues / NumOfValues
End If

End Function