数据分析模块使用
# 简述
在物联场景中存在大量的数据统计,大屏等场景,这时候如果每个都需要开发对应的接口,我们的工作量就会非常大,故开发了数据分析模块来提供超高拓展性的数据分析统计能力.
# 开发
目前我们只支持关系型数据库的统计,支持sql及表查询,我们推荐使用表查询的方式,如定时统计消息数量,则通过定时任务来获取对应的数据,然后存到统计表中.
新增一个统计我们需要先打开系统开发中的数据分析:
新建一个数据分析,参考设备消息统计的如下:
特殊字段说明:
字段 | 说明 |
---|---|
是否软删除 | iThings表结构支持软删除,如果是软删除类型,会默认加上已删除的过滤 |
是否转换驼峰/入参转下划线 | 如果为是,则会把接口传入的参数转换为下划线模式 |
SQL内容 | 如果查询的类型是sql,这里需要填写查询的sql,一般是联表sql或func |
默认排序 | 在前端未传入排序字段的时候会默认按照这个参数进行排序 |
结构体类型 | 当需要一些定制查询参数时,可以进行配置,参考下面的图片 |
结构体类型示例:
# 前端调用
数据配置好后,前端有两个接口可以进行调用,一个批量,一个单个,建议一个页面只调用一次,这样速度是最快的
调用参数示例:
- 设备发送消息统计
{
"code": "dmDeviceMsgCount",
"aggregations": [
{
"argFunc": "sum",
"column": "num"
}
],
"groupBy": "hourFmt:date",
"columns": "hourFmt:date",
"filter": {
"dayFmt:date:>=": "2024-09-04",
"type": "publish"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 设备在线状态统计
{
"code": "dmDeviceCount",
"argFunc": "count",
"aggregations": [
{
"argFunc": "count",
"column": "total"
}
],
"groupBy": "isOnline",
"columns": "isOnline"
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
- 各个应用的登录曲线
{
"code": "sysLoginLog",
"argFunc": "count",
"aggregations": [
{
"argFunc": "count",
"column": "total"
}
],
"groupBy":"appCode,hourFmt:createdTime",
"columns":"appCode,hourFmt:createdTime",
"filter":{
"dayFmt:createdTime:>=":"2024-08-20"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2024/09/09, 14:58:16