当前位置: 首页 > news >正文

TDengine 时序函数 DERIVATIVE 用户手册

在这里插入图片描述

DERIVATIVE 函数用户手册(智能电表场景)

1. 函数概述

DERIVATIVE 是 TDengine 的时间序列分析函数,用于计算指定数值列在时间序列上的变化速率(即导数、斜率、增速)。它常用于分析电压、电流、功率等指标随时间的变化趋势,帮助发现突变、异常或趋势变化。

注意:

  • DERIVATIVE 只能用于数值类型字段(如 voltagecurrentpower)。
  • 超级表查询时,必须使用 PARTITION BY tbname,确保每个子表的时间线独立有序。
  • 不能用于字符串、时间戳等非数值类型。
  • 用于复合主键时,若时间戳相同的数据存在多条,则只有对应复合主键最小的数据参与运算。

2. 语法

-- 子表查询
SELECT ts, voltage, DERIVATIVE(voltage, interval, mode) FROM sub_table [WHERE condition] ORDER BY ts;-- 超级表查询(必须分区)
SELECT tbname, ts, voltage, DERIVATIVE(voltage, interval, mode)
FROM super_table
[WHERE condition]
PARTITION BY tbname
ORDER BY tbname, ts;

参数说明

  • 第1个参数:数值列名(如 voltage、current、power)
  • 第2个参数:间隔(整数,单位为采样点数,最小为1,表示间隔 1s , 可以带时间单位,如 2h 表示 2 小时 )
  • 第3个参数:模式(0 或 1,0 表示普通差分,1 表示归一化到每秒的速率)

示例:

  • DERIVATIVE(voltage, 1, 0):计算相邻两点的差值(普通差分)
  • DERIVATIVE(voltage, 1, 1):计算相邻两点的每秒变化速率

3. 计算过程与返回值说明

3.1 计算过程

假设有如下数据(以电压为例):

tsvoltage
2024-09-22 10:00:00220.0
2024-09-22 10:01:00221.0
2024-09-22 10:02:00223.0
2024-09-22 10:03:00222.5
普通差分(mode=0)
  • DERIVATIVE(voltage, 1, 0) = 当前值 - 上一个值
  • 第一行无前值,结果为 NULL
  • 第二行:221.0 - 220.0 = 1.0
  • 第三行:223.0 - 221.0 = 2.0
  • 第四行:222.5 - 223.0 = -0.5
归一化速率(mode=1)
  • DERIVATIVE(voltage, 1, 1) = (当前值 - 上一个值) / (当前时间 - 上一个时间,单位秒)
  • 假设采样间隔为60秒:
    • 第二行:(221.0 - 220.0) / 60 = 0.0167
    • 第三行:(223.0 - 221.0) / 60 = 0.0333
    • 第四行:(222.5 - 223.0) / 60 = -0.0083

3.2 返回值样式

  • 返回行数与输入数据行数一致
  • 第一行(或每个分区的第一行)返回 NULL
  • 其余行为计算结果,类型为 DOUBLE

示例结果:

tsvoltageDERIVATIVE(voltage, 1, 0)DERIVATIVE(voltage, 1, 1)
2024-09-22 10:00:00220.0NULLNULL
2024-09-22 10:01:00221.01.00.0167
2024-09-22 10:02:00223.02.00.0333
2024-09-22 10:03:00222.5-0.5-0.0083

4. 函数意义与应用场景

4.1 函数意义

  • 趋势分析:快速判断电压、电流、功率等指标的变化速度和方向
  • 异常检测:发现突变、跳变、异常波动(如电压骤升/骤降)
  • 设备健康监控:识别设备运行状态的异常变化
  • 能效分析:分析功率变化速率,辅助能耗优化

4.2 典型应用场景

1. 电压变化速率分析
-- 查询单个设备电压变化速率,间隔 3 分钟
SELECT ts, voltage, DERIVATIVE(voltage, 3m, 1) AS voltage_rate
FROM d001
ORDER BY ts;
2. 多设备电流突变检测
-- 超级表多设备,必须分区,间隔 2 小时
SELECT tbname, ts, current, DERIVATIVE(current, 2h, 0) AS current_diff
FROM meters
WHERE current IS NOT NULL
PARTITION BY tbname
ORDER BY tbname, ts;
3. 功率突变告警
-- 检查功率变化绝对值大于100的时刻
SELECT tbname, ts, power, DERIVATIVE(power, 1, 0) AS power_diff
FROM meters
WHERE ts >= NOW() - 1d
PARTITION BY tbname
ORDER BY tbname, ts;
-- 应用层可筛选 power_diff > 100 或 power_diff < -100
4. 电压变化速率趋势图
-- 取最近24小时电压变化速率
SELECT ts, voltage, DERIVATIVE(voltage, 1, 1) AS voltage_rate
FROM d001
WHERE ts >= NOW() - 24h
ORDER BY ts;

5. 使用注意事项

  • 超级表必须分区:用 PARTITION BY tbname,否则结果混乱
  • 第一行结果为 NULL:每个分区的首行无前值,返回 NULL
  • 仅支持数值类型:不能用于字符串、时间戳等
  • 间隔参数:通常为1,表示相邻两点;可设为更大整数,表示跨多点差分

6. 常见错误示例

-- 错误:未分区
SELECT ts, voltage, DERIVATIVE(voltage, 1, 0) FROM meters ORDER BY ts;-- 正确:分区
SELECT tbname, ts, voltage, DERIVATIVE(voltage, 1, 0) FROM meters PARTITION BY tbname ORDER BY tbname, ts;-- 错误:用于字符串
SELECT DERIVATIVE(location, 1, 0) FROM meters; -- 错误

7. 总结

DERIVATIVE 函数是智能电表时序数据分析中用于计算变化速率的关键工具。它能帮助用户快速发现趋势、突变和异常,适用于电压、电流、功率等数值型指标的变化分析。使用时要注意分区、排序和参数类型,确保结果准确。

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

http://www.dtcms.com/a/416348.html

相关文章:

  • 网站做弹窗asp.net网站开发实例
  • 潍坊市建设一体化平台网站竞价关键词排名软件
  • STM32学习路线开启篇:OLED调试工具
  • 网站怎么做微信扫描登录网站建设网站如何挂到网上
  • AI 算力加速指南:Stable Diffusion 本地部署全维度优化,从 “卡成 PPT” 到 “秒出图像”(三)
  • 安徽六安什么时候解封上海网站建设优化seo
  • 怎样向网站上传照片著名的营销成功的案例
  • 有域名可以自己做网站吗网站开发技术有哪些
  • 上海seo关键词优化湖南企业竞价优化服务
  • 温州企业做网站云虚拟主机做网站
  • 求几个夸克没封的a站2023怎么样让网站快速收录
  • 河北住房建设厅网站首页免费ppt模板大全免费下载网站
  • 哈尔滨专业优化网站个人西安seo外包平台
  • 手机端网站如何优化百度中搜到网站名字
  • 交易网站模板wordpress主题qux_v7.1
  • 国家商用密码SM算法
  • 西安警方通报: 西安自动seo优化
  • 最近做网站开发有前途没来宾网站建设公司
  • 网站续费怎么做分录wordpress 会员投搞
  • 富文本编辑器Tinymce的使用、行内富文本编辑器工具栏自定义class、katex渲染数学公式
  • 台州seo网站排名敦煌手机网站设计
  • 82家合法现货交易所名单宁波专业seo服务
  • 网站没快照热点新闻事件2023
  • linux内核学习(三)---RK3568内核新版本移植(中)
  • 金华品牌网站建设网站图标在哪里做修改
  • 台州做网站联系方式wordpress改地址错误
  • 网站建设情况怎么写范文wordpress 自定义widget
  • 响水做网站价格网站织梦后台怎么做
  • 商城网站前台模板泉港区住房和城乡规划建设局网站
  • 网站推广营销公司建设银行临夏分行网站