A place to hold mainly reading notes, and some technical stuff occasionally. 这里主要是一些读书笔记、感悟;还有部分技术相关的内容。
目录[-]
数据可视化引擎是一种软件工具或平台,用于将数据转化为可视化图表、图形和仪表板的过程。它可以帮助用户更好地理解和分析数据,从而支持决策和洞察力。
数据可视化引擎的需求越来越大的原因有以下几点:
数据爆炸:随着数字化时代的到来,数据量呈指数级增长。数据可视化引擎可以帮助人们更好地处理和理解大量的数据,从而发现隐藏在数据中的模式和趋势。
可视化的洞察力:人类对于图形和图表的理解能力远远超过对于纯文本数据的理解能力。通过将数据可视化,人们可以更直观地理解数据之间的关系和趋势,从而更好地发现问题和解决问题。
即时决策:在当今快节奏的商业环境中,即时决策变得越来越重要。数据可视化引擎可以帮助用户快速生成可视化报表和仪表板,使他们能够迅速获取关键信息并做出及时决策。
用户友好性:数据可视化引擎通常提供用户友好的界面和交互功能,使非技术人员也能够轻松地创建和定制自己的可视化图表和仪表板。这使得数据可视化引擎在各个行业和领域中的应用越来越广泛。
这篇文章是关于 AJ-Report
内部分享的小总结,可以快速实现数据的可视化,易于部署与整合;当时是按照以下内容进行讲解演示的。
SQL
HTTP
ClickHouse
开源数据可视化引擎: DataEase
, FlyFish
, GoView
, DataGear
, Superset
, Grafana
, Metabase
…
JavaScript
时,不支持ES6
语法。https://gitee.com/anji-plus/report
五步轻松完成大屏设计与发布: 配置数据源—->写SQL配置数据集—->拖拽配置大屏—->保存发布—->一键分享/导出。 数据源、数据集、大屏
jdbc:mysql://127.0.0.1:3306/zaservice?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
SELECT create_time, value FROM sensor_water WHERE CODE = "00035100003003" ORDER BY create_time LIMIT 30;
function dataTransform(data) {
//自定义脚本内容
for (var i = 0; i < data.length; i++) {
data[i].create_time = new Date(data[i].create_time).toLocaleTimeString()
}
return data;
// return data.map(x => new Date(x.create_time).toLocaleTimeString());
}
http://localhost:8000/api/dashboard/getAssetsLiabilitiesRatio
function dataTransform(data) {
//自定义脚本内容
var d = JSON.parse(data[0]).data;
var result = [];
for (var i = 0; i < d.companies.length; i++) {
result.push({
axis: d.companies[i],
data: d.assetsLiabilitiesRatio[i]
});
}
return result;
}
AJReport
提供了一些大屏模板,可以下载导入,直接使用或修改。
下图是 DataEase
所支持的数据源,以这种方式展现让人觉得非常强大,其实 AJReport
本身也支持数据源的扩展,下面以 ClickHouse
这个分析型数据库为例来进行 JDBC
式的数据源扩展。
Query billions of rows in milliseconds
ClickHouse is the fastest and most resource efficient open-source database for real-time apps and analytics.
Web交互式查询页面:http://192.168.44.148:8123/play
show databases;
select count(*) from poetry.poetry_mergetree;
SELECT author, count(*) AS count FROM poetry.poetry_mergetree GROUP BY author HAVING count >=1000 ORDER BY count DESC;
SELECT dynasty, count(*) AS count FROM poetry.poetry_mergetree GROUP BY dynasty;
<!--ClickHouse 依赖-->
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.3.2</version>
</dependency>
ru.yandex.clickhouse.ClickHouseDriver
jdbc:clickhouse://your-ip:8123/poetry
If you have any questions or any bugs are found, please feel free to contact me. Your comments and suggestions are welcome!