window.median
以下でサポートされています。
window.median(numeric_values, should_ignore_zero_values)
説明
入力値の中央値を返します。中央値が 2 つある場合、1 つだけが非決定論的に選択され、戻り値として返されます。
パラメータのデータ型
INT|FLOAT
、BOOL
戻り値の型
FLOAT
コードサンプル
例 1
この例では、入力値がゼロでない場合に中央値を返します。
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
}
例 2
この例では、無視すべきでないゼロ値が入力に含まれている場合に中央値を返します。
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
}
例 3
この例では、入力に無視する必要があるゼロ値が含まれている場合に中央値を返します。
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
}
例 4
この例では、入力に無視する必要があるすべてのゼロ値が含まれている場合に中央値を返します。
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
}
例 5
この例では、中央値が複数ある場合、1 つの中央値のみが返されることを示します。
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
}