最近搭了一个数据监测看板。

news2024/11/15 13:48:27

54eae9b0212df74c4718baa355314247.gif

在大数据时代(这个开头我已经看腻了 ),为了挖掘冗余数据的价值,数据分析需求日益增多,而分析结果的常见表现形式有数据分析报告和数据看板(大屏),与报告文档不同,数据看板是对动态可视化的高度凝练,具有实时性强、信息量大的特点,又因其酷炫的视觉效果,深受数据产品需求方的青睐。构建数据看板的工具有很多,比如 Python 生态的 pyecharts、plotly,或者 BI 软件的 FineBI、PowerBI 等等,甚至使用 EXCEL 的联动图表也能实现。而对于数据库管理人员,利用 Navicat 图表工具构建数据看板,也是一个简单有效的方式。

aabee5229c77d064baef93b17fdadbe6.png

一、数据集说明

笔者以深圳市政府数据开放平台(https://opendata.sz.gov.cn/)上的一份街道实时数据的数据集为例,该数据集包括 7 个字段。

字段名含义
TIME1起始时间
PERIOD时间片
BLOCKID街道ID
EXPONENT交通指数
GOLEN通过样本总行驶长度
GOTIME通过样本总行程时间
SPEED平均行程车速

起始时间为记录的开始时间,每个时间片为 5 分钟,例如时间片 1 就表示从起始时间开始的第一个 5 分钟, 2 表示第 2 个 5 分钟,以此类推。交通指数反映一个街道在一个时间片内的拥堵情况,值越大越拥堵,划分五个等级,0-1 畅通,2-3 基本畅通,4-5 缓行,6-7 较拥堵,8-10 拥堵。

6ac19e835a881736404b5584cee5a6cb.png

下面,笔者以 SQLite 数据库进行演示。

二、统计查询需求

为了数据看板的充实性,我们可以多设计一些监测需求,比如:

1、监测街道总数

SELECT COUNT(DISTINCT BLOCKID) AS '街道总数' FROM Traffic

75

2、累计监测总量

SELECT COUNT(*) FROM Traffic

10000

3、累计监测时长

SELECT MAX(CAST(PERIOD AS decimal))*5/60 AS '累计监测时长(h)' FROM Traffic

11

4、累计行驶长度

SELECT SUM(GOLEN)/1000 AS '累计行驶长度(km)' FROM Traffic

2137966

5、总体平均交通指数趋势

-- 每五分钟的平均交通指数
SELECT PERIOD, ROUND(AVG(EXPONENT), 2) AS '平均交通指数' FROM Traffic
GROUP BY PERIOD
ORDER BY CAST(PERIOD AS decimal)
f664249f60069820762ea9d80e378f49.png

6、近两小时总体平均交通指数对比

SELECT ROUND(AVG(EXPONENT), 2) AS '交通指数', '近一小时' FROM Traffic
WHERE (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)-12 < CAST(PERIOD AS decimal) 
 AND PERIOD <= (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)
UNION ALL
SELECT ROUND(AVG(EXPONENT), 2), '上一小时' FROM Traffic
WHERE (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)-24 < CAST(PERIOD AS decimal) 
 AND PERIOD <= (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)-12
da349a4068d36ad6e89ccc1e791ebc4d.png

7、近两小时总体行驶长度对比

SELECT SUM(GOLEN)/1000 AS '行驶长度', '近一小时' FROM Traffic
WHERE (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)-12 < CAST(PERIOD AS decimal) 
 AND PERIOD <= (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)
UNION ALL
SELECT SUM(GOLEN)/1000, '上一小时' FROM Traffic
WHERE (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)-24 < CAST(PERIOD AS decimal) 
 AND PERIOD <= (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)-12
00e8cd11fe220e8f9bba43f0f9e1d439.png

8、各街道最新交通指数

SELECT BLOCKID, CAST(EXPONENT AS decimal) FROM Traffic
WHERE PERIOD = (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)
ORDER BY CAST(EXPONENT AS decimal) DESC
cfc2ffe158717f287b71ec8f69971cd9.png

9、各街道最新平均车速

SELECT BLOCKID, SPEED AS '平均车速' FROM Traffic
WHERE PERIOD = (SELECT MAX(CAST(PERIOD AS decimal)) FROM Traffic)
ORDER BY CAST(SPEED AS decimal) DESC

三、数据监测看板

数据源准备

需要展示的数据准备好之后,就可以把它们和图表绑定起来了。首先在 Navicat 图表面板新建工作区。

48fa2b4e1a0de4aa41db404bb0a9f73c.png

打开工作区后,进行新建数据源新建图表的操作,可能是一源一图或一源多图,可以根据执行查询的便利性来设计。

d1adfb6266afeb6380ff569348dd8a70.png

例如在数据源总表中,可以不做上文的监测街道总数、累计监测总量、累计行驶长度那样的运算,而是直接查询得到了每一条记录,包括街道ID和转换为千米制的行驶长度

710eba5f95273b41725f6306b38a918d.png

拖拽制图

图表自带聚合功能,可以方便实现一些统计。例如累计监测总量也就是记录的总条数,选择类型的图表后,将总表任意字段拖入计数即可。c2d68a3cb369415cf5f952ca2382beb2.png而选择 行驶长度-总计BLOCKID-非重复计数,即可得到累计行驶长度监测街道总数

c66787e916f212b2f73470ede01bd7f0.png

整合看板

根据数据源制作好多个图表后,就可以打开仪表板进行排布了。当图表数量多的情况下,还可以设计多个页面。

f520e0ad04d02f157354163d73234d22.png

最后点击仪表板右上角的显示即可全屏浏览,还具有一定的交互效果。

897e5cc8beecd64d555c8d7ad3b994bb.gif

四、小结

在不需要复杂交互和酷炫样式的情况下,使用 Navicat 图表来制作数据看板还是十分便利的,操作简单,基本能满足数据人员自身日常的可视化监测需求。这里是水完文准备开饭的 Seon塞翁,下一篇见!

推荐阅读

  • 超全!120个数据指标与术语。

  • 5年前,榨干程序员老公1300万资产,逼其跳楼自杀的翟欣欣

  • 甘特图,看这篇就够了

  • 嫖娼被抓通告里藏着的秘密,大数据告诉你!

  • 《年轻人加班报告》

新书上市

《Excel数据分析思维、技术与实践》

这本书不是讲解基础的 Excel 软件操作,而是立足于“Excel 数据分析”,精心挑选 Excel 中常用、实用的功能讲解数据分析的思路及其相关操作技术。本书沉淀了笔者多年 Excel 数据分析经验,希望能切切实实地帮助读者精进 Excel 数据分析技能,从有限的数据中分析出无限的价值。

4c8e98a1696ea294d096b3931ea829b1.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8.1.0:DHTMLX Suite JavaScript UI Crack

适用于现代 Web 应用程序的强大 JavaScript 小部件库 - DHTMLX 套件 用于创建现代用户界面的轻量级、快速且通用的 JavaScript/HTML5 UI 小部件库。 DHTMLX Suite 有助于推进 Web 开发和构建具有丰富功能的数据密集型应用程序。 DHTMLX Suite 是一个 UI 小部件库&#xff0c;用…

移动端高性能Unity播放器实现方案

前情提要&#xff1a; 视听体验再进化——如何在24小时内全面升级你的视频应用 如何打造新时代的终端播放产品&#xff1f; 随着VR、AR、元宇宙等新玩法的出现&#xff0c;Unity平台的视频播放需求逐渐增加&#xff0c;比如下面两个动图就是在百度真实的案例。前者是演唱会场景…

ChatGPT能够知道当下最流行的开发语言,以及各语言哪个开发框架最火吗?

如果你准备成为一名开发人员&#xff0c;但是面对琳琅满目的开发语言&#xff0c;然后每种语言的开发框架却无从下手&#xff0c;张三推荐你学这个&#xff0c;李四推荐你学那个&#xff0c;而你的时间又是有限的&#xff0c;于是我决定问一问这个万事通ChatGPT。 目录 1. 目前…

C语言小项目 -- 扫雷游戏完整代码(递归展开 + 选择标记)

目录 &#x1f680;0. 游戏介绍&#xff1a; &#x1f437; 游戏规则 &#x1f6f8;雷诀八条 &#x1f680;1. 开发环境及框架&#xff1a; &#x1f680;2. 游戏具体功能分析实现&#xff1a; &#x1f437;2.1 棋盘 &#x1f437;2.2 棋盘初始化 init_Board; &#x1…

用Abp实现两步验证(Two-Factor Authentication,2FA)登录(三):免登录验证

文章目录原理修改请求报文配置JwtBearerOptions生成Token校验Token修改认证EndPoint修改前端登录登出最终效果项目地址免登录验证是用户在首次两步验证通过后&#xff0c;在常用的设备&#xff08;浏览器&#xff09;中&#xff0c;在一定时间内不需要再次输入验证码直接登录。…

Go 语言 入门 基于 GoLand 2023.1 创建第一个Go程序

文章目录Go 语言 入门go 语言是什么?go 入门 需要 学习 什么?Go 语言有 那些优势?Go 语言 与 Java 语言 对比Go 语言 与Python 语言 对比Go 语言 基于 GoLand 创建第一个程序1. 打开 GoLand2.选择 new3. 选择SDK版本4. 输入项目名称,点击 cteate项目创建完成下一步,创建一个…

SpringBoot-心跳机制+redis实现网站实时在线人数统计

在社交网站中&#xff0c;通常需要实时统计某个网站的在线人数&#xff0c;通过该指标来实时帮助运营人员更好的维护网站业务&#xff1a; 先说一下目前在市面上主流的做法再加上我自己查阅的资料总结&#xff1a; 创建一个session监听器&#xff0c;在用户登录时即创建一个s…

WEB集群之反向代理,动静分离,NFS,mysql,MHA高可用

目录 第一章实验架构 1.1.实验图谱架构 1.2.实验前环境部署 第二章实验步骤 2.1.在ha01&#xff0c;ha02上部署keeplived,lvs-dr 2.2.Slave01,slave02安装nginx 2.3.LVS负载均衡 2.4.搭建动态网页 2.5.nginx反向代理 2.6.部署NFS 2.7.安装mysql 2.8.安装mha 2.9.主…

教你安装 CodeWhisperer: 一款个人免费的类似GitHubCopilot能代码补全的 AI 编程助手

1、官网 AI Code Generator - Amazon CodeWhisperer - AWS 官方扩展安装教程 2、安装VSCode 下载安装VSCode 3、VSCode安装CodeWhisperer插件 安装VSCode插件 - AWS Toolkit主侧栏&#xff0c;点击AWS &#xff0c;展开CodeWhisperer&#xff0c;点击Start 在下拉菜单中点…

洗浴中心管理系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a; 更多系统资源库地址&#xff1a;骚戴的博客_CSDN_更多系统资源 更多系统…

煤矿井下人员精准定位系统,煤矿应急救援高效应用

煤矿行业的安全发展&#xff0c;事关数人民群众的生命财产安全。自2020年起&#xff0c;国家连续三年出台煤矿智能化建设及重大风险防控的相关指导政策&#xff0c;其中&#xff0c;2022年出台的《煤矿及重点非煤矿山重大灾害风险防控建设工作总体方案》中提到&#xff0c;要充…

52 openEuler搭建PostgreSQL数据库服务器-管理数据库角色

文章目录52 openEuler搭建PostgreSQL数据库服务器-管理数据库角色52.1 创建角色创建角色示例52.2 查看角色查看角色示例52.3 修改角色52.3.1 修改用户名52.3.2 修改用户示例52.3.3 修改用户密码52.3.4 修改角色密码示例52.4 删除角色删除角色示例52.5 角色授权角色授权示例52.6…

Python旅游好帮手:提前15天准备五一旅游景点详细数据

人生苦短&#xff0c;我用python 虽然还是有15天才放五一的假&#xff0c; 但是我的心早已经在旅游的路上了~ 本文源码&#xff1a;点击此处跳转文末名片获取 趁现在&#xff0c;先来用python做一个旅游攻略 知识点&#xff1a; requests parsel csv 第三方库&#x…

python查看时间序列数据的季节规律matplotlib画时间(10分钟为间隔)序列坐标

目录0 问题描述1. 案例12. 案例2参考资料0 问题描述 将多个时间序列数据&#xff0c;绘制到一张图上&#xff0c;每段时间序列数据一般只有几个月&#xff0c;少则 1 个月左右&#xff0c;想看它们的季节规律&#xff0c;需要去除年份&#xff0c;只看月份。 也就是横轴是1月…

44.CSS Grid布局概述

什么是CSS Grid&#xff1f; ● CSS Grid 是一组用于构建二维布局的 CSS 属性 ● CSS Grid 背后的主要思想是我们将容器元素划分为行和列&#xff0c;这些行和列可以填充是子元素。 ● 在两段式语境中&#xff0c;CSS网格允许我们写出更少的嵌套HTML和更容易阅读的CSS ● CSS …

二分查找原理及使用场景

建议使用左闭右开区间[l, r)查找。二分查找的最后&#xff0c;索引l&#xff0c;r会落到右区间第一个元素位置。因此但凡是能够见数组分成左右两个区间的都能应用二分查找法。 1、普通查值 常见问题方式&#xff1a;寻找含重复值的有序数组 [...,a, tar, tar, tar,.b....]&am…

AI制药 - RCSB PDB 数据集的多维度分析与整理 (1)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/130089781 整体&#xff1a; RCSB PDB 数据集是一个收集了蛋白质的三维结构信息的数据库&#xff0c;是世界蛋白质数据库&#xff08;…

SQL SERVER调Web Service时候权限错误的解决

日期 2023/4/15 18:00:00 日志 作业历史记录 (AIPACS) 步骤 ID 1 服务器 GOOGLE 作业名称 AIPACS 步骤名称 RUNWS 持续时间 00:00:00 SQL 严重性 16 SQL 消息 ID 15281 已通过电子邮件通知的操作员 已通过…

MATLAB 基于空间格网的点云抽稀 (3)

MATLAB 基于空间格网的点云抽稀 (3) 一、实现效果二、原理步骤三、代码实现四、重点函数与对象的解释说明4.1 indices= pcbin(incloud,[rowNum colNum LayerNum]);4.2 occupancyGrid = cellfun(@(c) ~isempty(c), indices);4.3 outpointIndex = [];4.4 outpointIndex(end+1) …

基于ubuntu18.04上搭建OpenWRT-rtd1619环境

下载OpwnWRT的源码 下载路径&#xff1a;https://gitee.com/yangquan3_admin/rtd1619 您需要以下工具来编译 OpenWrt&#xff0c;包名称因发行版而异。 在 Build System Setup 文档中可以找到包含特定于发行版的软件包的完整列表。 binutils bzip2 diff find flex gawk gcc-6…