如何使用SQL任务计算房间电量消耗的实践案例

简介: 文本介绍一例物联网平台数据服务SQL洞察用于智能家居的实践案例

1. 需求描述

在智能家居行业里产生了各种各样场景的数字解决方案,有解决方案商使用物联网平台的能力搭建各种数据分析应用,比如房间电量消耗统计,在公寓中部署了智能电表,每隔15min上传一次累计电量,需要根据设备上传值计算用电量。结合下表理解。

设备标示

上报属性值

上报时间

用电量

房间1电表

56.2

00:00

-

房间2电表

100.2

00:00

-

房间1电表

56.3

00:15

56.3-56.2 = 0.1度电

房间2电表

101

00:15

101-100.2 = 0.8度电

房间1电表

60

08:00

60-56.3 = 3.7度电

房间2电表

120

08:00

120-101 = 19度电


2. 实现方案

2.1 创建场景

创建电表模拟产品,电表产品只有一个只读属性Fwh,表示累计电量。参考图1。

创建两个电表设备:room1 和 room2。参考图2。

使用物联网在线调试功能定时上报属性, 为调试方便,可以将间隔设置为10s上报一次属性值。参考图3。

在数据开发页面刷新平台设备数据表,用于创建电表的分析模型。

image.png

图1 创建电表模拟产品

image.png

图2 创建模拟设备

image.png

图3 定时上报电量


2.2 计算公式

使用数据服务是具有计算能力的平台,可以在SQL工作台创建SQL脚本任务来完成计算,将计算结果用于业务系统。

设计计算公式如下:

image.png

可以使用窗口函数取出设备最后上传的2次属性值,计算差值即可。

-- 对原始数据加工,需要将j-1条数据拼接到j条数据上
create view ods_append_row as 
select 
  `$device_name`, 
    `$event_time`, 
    `$iot_id`,
    `Fwh`,
    -- over 窗口
    row_number() over(PARTITION BY `$iot_id` ORDER BY `$event_time` DESC ) as row_no,
    nth_value(`Fwh`, 1) over (PARTITION BY `$iot_id` ORDER BY `$event_time` DESC ) as latest_value,
    nth_value(`Fwh`, 2) over (PARTITION BY `$iot_id` ORDER BY `$event_time` DESC ) as previous_value
from your_table_name;
-- 对最近两次结果进行取差值
select 
    `$device_name`,
    `$event_time`,
    latest_value - previous_value as delta_Fwh
from ods_append_row where row_no <= 2 and previous_value is not null;

调试结果参考下图4。

image.png

图4 调试结果

3. 结果使用

数据API

在云云对接场景用于应用集成,则可以配置API及SDK调用获取结果数据。

数据导出
如何结果数据需要线下备份或者使用xls进一步分析,可以使用“导出”功能。

image.png

可以按照时间范围进行数据导出,目前导出格式只支持csv

image.png

详细操作步骤可以参考《IoT设备数据的存储、解析和价值挖掘实践》,这里不赘述。

相关产品文档
如您想要了解更细节的产品功能使用指南,可以访问物联网平台的官网产品文档。
分析洞察官网文档:https://help.aliyun.com/document_detail/325547.html

产品操作实践文档:https://developer.aliyun.com/article/1166086

相关文章
|
1月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
95 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
19天前
|
SQL 数据采集 自然语言处理
NL2SQL之DB-GPT-Hub<详解篇>:text2sql任务的微调框架和基准对比
NL2SQL之DB-GPT-Hub<详解篇>:text2sql任务的微调框架和基准对比
|
1月前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
129 15
|
1天前
|
SQL 运维
Doris同一个SQL任务,前一天执行成功,第二天执行失败
Doris 动态分区 插入数据 同样的代码隔天运行一个成功一个失败
|
11天前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
28 11
|
10天前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
11天前
|
SQL 存储 缓存
SQL计算班级语文平均分:详细步骤与技巧
在数据库管理和分析中,经常需要计算某个班级在特定科目上的平均分
|
15天前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
20 5
|
14天前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
30 3
|
1月前
|
SQL 存储 并行计算
Lindorm Ganos 一条 SQL 计算轨迹
Lindorm Ganos 针对轨迹距离计算场景提供了内置函数 ST_Length_Rows,结合原生时空二级索引和时空聚合计算下推技术,能够高效过滤数据并并行执行运算任务。该方案通过主键索引和时空索引快速过滤数据,并利用多Region并行计算轨迹点距离,适用于车联网等场景。具体步骤包括根据车辆识别代码和时间戳过滤数据、范围过滤轨迹点以及并行计算距离。使用限制包括只支持点类型列聚合运算及表中轨迹点需按顺序排列等。测试结果显示,Lindorm Ganos 在不同数据量下均能实现秒级响应。
23 3