我使用Flux设置了InfluxDB,并希望显示两个测量值的最新值之和。
可以通过以下方式显示各个值
x1 = from(bucket: "telegraf/autogen")
|> range(start: -1h)
|> filter(fn: (r) =>
r._measurement == "value1")
x1
如果我尝试通过显示
x1 = from(bucket: "telegraf/autogen")
|> range(start: -1h)
|> filter(fn: (r) =>
r._measurement == "value1")
x2 = from(bucket: "telegraf/autogen")
|> range(start: -1h)
|> filter(fn: (r) =>
r._measurement == "value2")
x1 + x2
我得到一个错误。添加最新测量值的正确方法是什么?
答案 0 :(得分:0)
您设法获得了 x1
表和 x2
表,现在您加入了这两个表并添加了带有总和的新字段:
new_table = join(tables: {x1: x1, x2: x1}, on: ["_time"])
|> map(fn: (r) => ({ r with "sum_x1_x2": (r._value_x1 + r._value_x2)})
地图功能允许您在表上修改/创建新值。结果表可能有“_field”、“_measurement”、“_value”列,每个输入表(x1
和x2
)都有一个列。此外,映射字段“sum_x1_x2”具有总和值。
聚合/数据窗口也可能有所帮助。