<永洪tech>数据不全时如何显示所有月份数据

Kevinli 显示全部楼层 发表于 2018-2-12 09:37:34 |阅读模式 打印 上一主题 下一主题
客户需求场景:存在事件低发时间段没有预警信息即显示为0,客户需要直观的看出这些低发时间段。
需求:图表x轴需要显示整点小时,0-23点,且不管是否有每个时间点有数据,x轴一定要显示全部时间点。效果如下图。
0.png

在产品中没有办法直接实现,没有数据的部分x轴不会显示,效果如下:

1.png

    解决方式:在数据库进行处理,建一个码表,存放0-23每个小时的整点,数据表中存放的日期是字符串类型的日期,格式:‘年-月-日 时:分:秒’。然后将码表和数据表按照整点小时字段进行left join 。实现的sql如下:
select b.hour,s.name,s.a as '日期',DATE_FORMAT(str_to_date(s.a, '%Y-%m-%d %H'),"%H") AS '小时'
from mabiao b LEFT JOIN gaction_copy s
on b.hour=DATE_FORMAT(str_to_date(s.a, '%Y-%m-%d %H'),"%H")


实现原理:一定要让数据集中有每个整点的数据,如果数据表中没有对应时间的数据left  join后为空,不影响显示。


回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部