Ich habe eine Abfolge von Ereignissen zu wiederholen, die so geht:Esper Zählen von Ereignissen in Muster
- Ereignis A startet die Sequenz
Ich tat das mit einem Muster [jedes A -> (B bis C)], es scheint richtig zu sein (was denkst du?). Aber ich kämpfe darum, Informationen aus den B-Ereignissen, die in der Sequenz entstanden sind, zu sammeln und zu sammeln. Ich möchte einfach eine Zählung und vielleicht ein paar AVGs haben, aber nichts scheint zu funktionieren (Beispiel 1 gibt 1 zurück, Beispiel 2 gibt 0 zurück und Beispiel 3 gibt null zurück, auch wenn meine B-Ereignisse vorhanden sind).
insert into CreateMeasurement
select
C.source as source,
"carDrivingAnalyse" as type,
C.time as time,
{
"example1", count(*),
"example2", count(B),
"example3", B.countOf()
} as fragments
from pattern [
every A = EventCreated(
type = "Ignition",
getString(A, "Ignition.status") = "ON")
-> (
B = EventCreated(
type = "DrivingEvent",
source = A.source,
getString(B, "DrivingEvent.prop1") = getString(A, "Ignition.prop1"),
getNumber(B, "DrivingEvent.prop2") = getNumber(A, "Ignition.prop2"))
until C = EventCreated(
type = "Ignition",
getString(C, "Ignition.status") = "OFF",
source = A.source,
getString(C, "Ignition.prop1") = getString(A, "Ignition.prop1"),
getNumber(C, "Ignition.prop2") = getNumber(A, "Ignition.prop2"))
)
]
Danke für Ihre Antwort, ich lese die ESPER-Dokumentation und ich versuche, den Kontext zu schreiben, aber ich habe bereits Probleme, mein Muster zu übersetzen.Ich habe mein Beispiel vereinfacht, indem ich sagte, Ereignisse B und C müssten dieselbe Quelle wie A haben, aber tatsächlich haben sie mehr Eigenschaften zu überprüfen (ich habe meinen ursprünglichen Beitrag bearbeitet) und im Moment kann ich den getString/getNumber nicht replizieren funktioniert in meinem Kontext. –
Und was ist mit bedingter Zählung? Etwas wie "e.countOf (event -> getNumber (event," c8y_HarshBehavior.speed ")> 100)" außer das funktioniert nicht. –
Ich würde die getNumber (Ereignis, "c8y_HarshBehavior.speed")> 100 auf die Where-Klausel – TyrManuZ