window.median
window.median(numeric_values, should_ignore_zero_values)
Descrizione
Restituisce la mediana dei valori di input. Se sono presenti due valori mediani, ne verrà scelto uno solo in modo non deterministico come valore restituito.
Tipi di dati dei parametri
INT|FLOAT, BOOL
Tipo restituito
FLOAT
Esempi di codice
Esempio 1
Questo esempio restituisce la mediana quando i valori di input non sono zero.
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
}
Esempio 2
Questo esempio restituisce la mediana quando l'input include alcuni valori zero che non devono essere ignorati.
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
}
Esempio 3
Questo esempio restituisce la mediana quando l'input include alcuni valori zero che devono essere ignorati.
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
}
Esempio 4
Questo esempio restituisce la mediana quando l'input include tutti i valori zero che devono essere ignorati.
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
}
Esempio 5
Questo esempio mostra che, quando sono presenti più mediane, viene restituita solo una mediana.
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
}