ZBLOG

influxdb 2.0 pivot 中的属性

在 InfluxDB 2.0 中,pivot() 函数用于将原始数据按照指定的行和列重新组织,并将特定字段的值填充到新生成的单元格中。下面是 pivot() 函数中可用的属性:

  • rowKey: 必需。一个字符串数组,表示要作为新表格的行键使用哪些字段名。

  • columnKey: 必需。一个字符串数组,表示要作为新表格的列键使用哪些字段名。

  • valueColumn: 必需。一个字符串,表示要将哪个字段作为填充新表格单元格的值。

  • defaultValue: 可选。一个字符串或数值类型,表示如果源数据不包含指定行和列的某个组合,则在新表格中该单元格应该填充什么值,默认值为 null。

  • nullValuesAsZero: 可选。一个布尔型参数,当设置为 true 时,在没有源数据时自动将空白单元格填充为零(即默认值改为0)。默认情况下该参数为 false。

以下是一些示例:

// pivot函数示例1
from(bucket: "my-bucket")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "temperature")
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")

// pivot函数示例2
from(bucket: "my-bucket")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "temperature")
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value", defaultValue: "N/A")

// pivot函数示例3
from(bucket: "my-bucket")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "temperature")
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value", nullValuesAsZero:true)

在上面的示例中,我们都使用 filter() 函数来过滤出 _measurement 等于 temperature 的记录,并使用 pivot() 函数将 _field 字段的值作为新列名。

在第一个示例中,我们没有设置任何默认值或空白单元格填充策略,因此默认情况下会用 null 值填充这些单元格。在第二个示例中,我们指定了一个字符串 “N/A” 作为默认值,如果源数据不包含某个行/列组合,则会在新表格中填充该值。在第三个示例中,我们将 nullValuesAsZero 参数设置为 true,以便自动将空白单元格填充为零。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6183

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?