如果“_value”是字符串,如何过滤数据 [Flux] [InfluxDB]

Kel*_*man 6 database filter influxdb

在我的数据中,“_value”列中有几个字符串。这意味着当我使用时aggregateWindow()我收到此错误:unsupported input type for mean aggregate: string。

我想知道如何在传递给aggregateWindow 之前过滤掉字符串类型的数据,从而避免错误。

也许是这样的:

from(bucket: "mybucket")
  |> range(start: -10m, stop: now())
  |> filter(fn: (r) => type(r["_value"]) != "string")
  |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)
  |> yield(name: "mean")
Run Code Online (Sandbox Code Playgroud)

Hey*_*ude 1

根据文档,您可以使用types.isType:

按值类型过滤

import "types"

data
    |> filter(fn: (r) => types.isType(v: r._value, type: "string"))
Run Code Online (Sandbox Code Playgroud)

您可能还需要考虑types.isNumeric,或者如果合适的话使用正则表达式。