使用字段和新聚合的数据点执行数学运算

时间:2019-11-04 21:20:58

标签: influxdb influxql

我的问题,并不是太具体,基本上是这样的:

我在Influx中进行了如下测量:

measurement: "Productivity"
timestamp | field:num_employees | field: productivity | tag: program | tag: department
1         | 12                  | 1.1                 | Alpha        | Greeks
1         | 8                   | .97                 | Beta         | Greeks
2         | 13                  | 1.07                | Alpha        | Greeks
2         | 10                  | 1.01                | Beta         | Greeks
etc...
.
.

我的目标是使用以下公式得出部门级别的加权平均生产率: SUM(Num_Employees_In_Program *生产率)/ Total_Employees_In_Department

我认为问题很简单,但Influx不喜欢我的创建方式,即创建像SELECT sum("Num_Employees") INTO "Productivity" FROM "Productivity" GROUP BY "department", time(1d)这样的新查询

这使我可以在原始度量中添加另一个字段,称为“和”。但是,当我使用上述公式中的数学进行新查询时,得到的结果全部为空。

以下是现在或多或少显示的测量结果:

measurement: "Productivity"
timestamp | field:num_employees | field: productivity | tag: program | tag: department | field: sum
1         | 12                  | 1.1                 | Alpha        | Greeks          | - 
1         | 8                   | .97                 | Beta         | Greeks          | - 
1         | -                   | -                   |-             | Greeks          | 20
2         | 13                  | 1.07                | Alpha        | Greeks          | -
2         | 10                  | 1.01                | Beta         | Greeks          | -
2         | -                   | -                   | -            | Greeks          | 23
etc...
.
.

没有引发任何错误,但没有得到有用的数据。我怀疑问题在于新字段(我选择进入度量值的总和)是一个聚合,而不是原始数据点的一部分。我确保包括一个标签并具有匹配的时间戳。有谁知道为什么这不会像我认为的那样起作用?只要有匹配的时间戳和至少一个匹配的标签进行分组,我相信查询应该可以工作:SELECT ("Num_Employees" * "Productivity") / "sum" FROM "Productivity" GROUP BY "department"

0 个答案:

没有答案