window.median
window.median(numeric_values, should_ignore_zero_values)
Description
Renvoie la médiane des valeurs d'entrée. S'il existe deux valeurs médianes, une seule sera choisie de manière non déterministe comme valeur renvoyée.
Types de données des paramètres
INT|FLOAT
, BOOL
Type renvoyé
FLOAT
Exemples de code
Exemple 1
Cet exemple renvoie la médiane lorsque les valeurs d'entrée ne sont pas nulles.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 2 if the file sizes in the match window are [1, 2, 3]
condition:
$e
}
Exemple 2
Cet exemple renvoie la médiane lorsque l'entrée inclut des valeurs nulles qui ne doivent pas être ignorées.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 1 if the file sizes in the match window are [0,0, 1, 2, 3]
condition:
$e
}
Exemple 3
Cet exemple renvoie la médiane lorsque l'entrée inclut des valeurs nulles qui doivent être ignorées.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size, true) // returns 2 if the file sizes in the match window are [0,0, 1, 2, 3]
condition:
$e
}
Exemple 4
Cet exemple renvoie la médiane lorsque l'entrée inclut toutes les valeurs nulles qui doivent être ignorées.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 0 if the file sizes in the match window are [0,0]
condition:
$e
}
Exemple 5
Cet exemple montre que, lorsqu'il existe plusieurs médianes, une seule est renvoyée.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 1 if the file sizes in the match window are [1, 2, 3, 4]
condition:
$e
}