柱形图实现动态刷新效果

楼主
我是社区第504714位番薯,欢迎点我头像关注我哦~

1. 概述

1.1 应用场景

在使用柱形图实现可视化的过程中,可能会遇到以下几种业务需求:

1)柱子太多无法在一个柱形图中全部展示出来。

2)柱子太多一次性全部展示出来影响图表美观。

3)需要做成动态展示增强图表的表现效果。

1.2 预期效果

让柱形图的柱子在一定时间间隔内切换,动态展示出所有的柱子,效果如下图所示:

777777.gif

1.3 实现思路

实现这个效果的核心思路是找一个不断变化的量,写在 SQL 的 where 条件语句中,作为查询条件,这样在特效监控刷新效果中,根据我们设置的刷新时间,数据集会不断执行我们设置的动态 SQL 。

不断变化的因素,想来想去也就只有服务器时间这一个了,所以我们取服务器时间的“秒”作为不断变化的因素,加入到 where 条件语句中,变成我们需要的动态 SQL 。

2. 操作步骤

2.1 报表设计

1)将柱形图拖到决策报表中,如下图所示:

image.png

2)新建数据集 ds1,示例中的动态 SQL 语句如下:

select * from (

select Row_Number() over (order by qdh) as id,* from 

qqctu_dm.dm_sec_qd_elec

) a 

where 

id%2 = cast(substr(cast(current_timestamp as varchar),19,1) as int)%2

注1:将所要展示的记录排序并编号,再将服务器时间的“秒”作为一个查询条件写入 where 条件中,不同数据库的 SQL 可能略有不同,但是道理都是一样的,此处作者使用的查询引擎是 presto,读者应根据实际情况灵活处理。

注2:因为 SQL 中涉及取服务器时间,所以上传内置数据集模板无法加载出动态效果,此处只讲 SQL 上传,读者根据自己使用的数据库类型自行转换即可。

image.png

3)绑定柱形图数据,如下图所示:

image.png

4)在交互属性中设置动态刷新时间,此处与 SQL 对应好,否则刷新可能会出问题,如下图所示:

image.png

2.2 效果预览

保存报表,点击PC端预览,效果如下图所示:

99999.gif

 

来自用户:大尾巴企鹅

分享扩散:

沙发
发表于 2022-8-24 10:13:53
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表