Tema anterior: Parámetros en fórmulas de lógica de negociosTema siguiente: Prueba de fórmulas de lógica de negocios


Fórmula de ejemplo completa

La siguiente fórmula de lógica de negocios agrega los valores de eventos de tiempo de actividad, a un valor medio, durante la ranura de tiempo del período de seguimiento para la métrica.

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 ("valor")
NumOfValues=  NumOfValues + 1
End If
End Sub

Resultado de la función
If NumOfValues = 0 Then
Result = NULL
Else
Result = SumOfValues / NumOfValues
End If

End Function