【问题标题】:Math with full query in FluxFlux 中带有完整查询的数学
【发布时间】:2022-10-19 16:49:27
【问题描述】:

我家里有一些用于冰箱或 PC 等设备的功率传感器,还有一个完整的传感器来测量整个房屋的消耗。 我试图用我家的个人潜水用途来实现饼图。这很好用。唯一的问题是,我现在需要计算“休息”或“其他”值。 为此,我想从整个传感器中取出数字并减去所有其他值。

我有两个单独的查询给了我这两个数字。我只是找不到从另一个中减去一个的方法。

查询如下:

全传感器:

from(bucket: "hoi2c")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "power_usage")
  |> filter(fn: (r) => r["_field"] == "total_usage_no_neg")
  |> filter(fn: (r) => r["type"] == "sh_em3-01")
  |> aggregateWindow(every: 100y, fn: sum, createEmpty: false)
  |> yield(name: "sum")

所有其他设备的总和:

from(bucket: "hoi2c")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "power_usage" or r["_measurement"] == "devices_power_usage")
  |> filter(fn: (r) => r["_field"] == "total_usage_no_neg")
  |> filter(fn: (r) => r["type"] == "sh_plug_wohnwand" or r["type"] == "sh_plug_office2" or r["type"] == "sh_plug_office1" or r["type"] == "sh_plug_kuehlschrank" or r["type"] == "sh_plug_datacenter" or r["type"] == "sh1_plpm_gartenhaus")
  |> group(columns: ["_field"])
  |> aggregateWindow(every: 100y, fn: sum, createEmpty: false)
  |> yield(name: "sum")

有谁知道我怎么能做到这一点?

此致 拉斯

【问题讨论】:

    标签: influxdb flux


    【解决方案1】:

    这应该有效。您可以像这样将整个结果保存到变量中:

    full_sensor = from(bucket: "hoi2c")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "power_usage")
      |> filter(fn: (r) => r["_field"] == "total_usage_no_neg")
      |> filter(fn: (r) => r["type"] == "sh_em3-01")
      |> aggregateWindow(every: 100y, fn: sum, createEmpty: false)
      |> yield(name: "sum")
    
    other = from(bucket: "hoi2c")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "power_usage" or r["_measurement"] == "devices_power_usage")
      |> filter(fn: (r) => r["_field"] == "total_usage_no_neg")
      |> filter(fn: (r) => r["type"] == "sh_plug_wohnwand" or r["type"] == "sh_plug_office2" or r["type"] == "sh_plug_office1" or r["type"] == "sh_plug_kuehlschrank" or r["type"] == "sh_plug_datacenter" or r["type"] == "sh1_plpm_gartenhaus")
      |> group(columns: ["_field"])
      |> aggregateWindow(every: 100y, fn: sum, createEmpty: false)
      |> yield(name: "sum")
    
    full_sensor - other
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 2015-07-21
      • 2018-09-25
      • 1970-01-01
      • 2021-11-11
      • 2015-11-23
      相关资源
      最近更新 更多