Reputation: 35
I'm trying to filter with a list made before like:
With version InfluxDB v2.6.0
ldevname = from(bucket: v.bucket)
|> range(start: -365d)
|> filter(fn: (r) => r._measurement == "LDEV_CNF" )
|> filter(fn: (r) => r.poolid == "${pool}")
|> keep(columns: ["_value","poolid"])
|> group()
|> keep(columns: ["_value"])
ldevname
the output:
Then the main query as an error:
invalid: compilation failed: error @17:37-17:50: regex parse error: ${ldevname} error: repetition quantifier expects a valid decimal
ldevname = from(bucket: v.bucket)
|> range(start: -365d)
|> filter(fn: (r) => r._measurement == "LDEV_CNF" )
|> filter(fn: (r) => r.poolid == "${pool}")
|> keep(columns: ["_value","poolid"])
|> group()
|> keep(columns: ["_value"])
//ldevname
from(bucket: v.bucket)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "LDEV" and r._field == "LDEV_IOPS" )
|> filter(fn: (r) => r["ldevID"] =~ /${ldevname}/ )
// an others try without success:
//|> filter(fn: (r) => r["ldevID"] =~ (v: /^$ldevname$/) )
//|> filter(fn: (r) => r["ldevID"] =~ /^$ldevname$/ )
Many thanks for any help
Upvotes: 0
Views: 91
Reputation: 144
Try
|> filter(fn: (r) => r["ldevID"] =~ /^${ldevname:regex}/ )
${ldevname:regex}
formats variable ldevname
with multiple values into a valid regex string.
Upvotes: 1