filter() function
filter()
filters data based on conditions defined in a predicate function (fn
).
Output tables have the same schema as the corresponding input tables.
Function type signature
(<-tables: stream[A], fn: (r: A) => bool, ?onEmpty: string) => stream[A] where A: Record
Parameters
fn
(Required)
Single argument predicate function that evaluates true
or false
.
Records representing each row are passed to the function as r
.
Records that evaluate to true
are included in output tables.
Records that evaluate to null or false
are excluded from output tables.
onEmpty
Action to take with empty tables. Default is drop
.
Supported values:
- keep: Keep empty tables.
- drop: Drop empty tables.
tables
Input data. Default is piped-forward data (<-
).
Examples
- Filter based on InfluxDB measurement, field, and tag
- Keep empty tables when filtering
- Filter values based on thresholds
Filter based on InfluxDB measurement, field, and tag
from(bucket: "example-bucket")
|> range(start: -1h)
|> filter(
fn: (r) => r._measurement == "cpu" and r._field == "usage_system" and r.cpu == "cpu-total",
)
Keep empty tables when filtering
import "sampledata"
import "experimental/table"
sampledata.int()
|> filter(fn: (r) => r._value > 18, onEmpty: "keep")
Filter values based on thresholds
import "sampledata"
sampledata.int()
|> filter(fn: (r) => r._value > 0 and r._value < 10)
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.