可视化大屏可真是太 beautiful 了!!!

23,498 阅读9分钟

一名致力于在技术道路上的终身学习者、实践者、分享者,一位忙起来又偶尔偷懒的原创博主,一个偶尔无聊又偶尔幽默的少年。

欢迎各位掘友们微信搜索「杰哥的IT之旅」关注!

原文链接:“罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?

去年4月1日,罗永浩直播带货首秀在抖音进行,这场直播累计观看人数超过3000万人,销售额最终超1.1亿。接着网上发布了对于这场直播数据的“可视化大屏展示”,很多人都好奇这个是用什么做的,今天就带大家做一个类似于下图的可视化大屏。

图片

上图是罗永浩直播数据的可视化大屏展示,下图是本文我们要做的可视化大屏展示,先来给大家看一个视频!如出一辙,有兴趣的可以跟着我操作一遍。

一、ERP系统(企业资源规划)

将资源配比运用到企业身上,叫做“ERP系统”,全称是“EnterPrice Recourse Planning”,以某想公司为例来说,大家都知道它是做电脑的。

1) 采购管理:像 CPU、主板、芯片他们都做不了,于是需要采购。
2) 生产管理:主要是看一下工艺,以及合格率等。
3) 库存管理:根据市场的需求,哪些产品需要多库存一些,哪些需要少库存一些,保证库存供给均衡。
4) 销售管理:销售分线上的和线下的。
5) 物流管理
6) 财务管理:像进账、出账、预算等。
7) 人力管理:公司员工关系。
8) 企业文化:不同公司有着不同的企业文化。

二、HRP

将 ERP 系统运用到医疗行业,就成了“HRP”,全称是“Hospital Resource Planning”,又叫“医院资源规划”

三、项目背景及目的

本文基于某医院一些数据,为院长制作一个“驾驶舱”,帮助他了解医院的运营情况及其存在的问题,并针对这些问题进行诊断,达到资源配比合理化。

四、项目需求

我们从上面的目的可以知道,本文就是要为院长做一个可视化大屏,帮助他做决策,既然是帮院长做,那么我们就要知道,作为一个院长,主要关注哪些东西,他所关注的,就是我们要做的。下面我们简要列举以下几个:

  • 各科室的人员配比情况,像医生、护士、患者。
  • 各科室的就诊情况,门诊、住院(病床)
  • 各科室的收入;

五、数据表的介绍

图片

六、软件实现

6.1 新建一个决策报表,添加一个背景

图片

6.2 连接数据库:hospital_hrp

图片

6.3 标题及科室列表图的制作

6.3.1 新建数据连接,导入数据源

图片

6.3.2 导入报表块儿:添加一个标题(资源配比决策大屏)

图片

6.3.3 点击上述编辑,进行如下操作

图片

6.3.4 保存后,进行效果预览

图片

6.3.5 再次导入一个报表块儿,用于制作科室列表图

图片

6.3.6 点击上述编辑后,完成如下操作

图片

6.3.7 调整两个报表块儿的间距后,保存并进行效果展示

图片

6.4 各科室人员配比分析

  • 国家标配指标:医患比(1:5)、护患比(1:2.5),这个数字是国家标配。
  • 需求1:某科室医、护患比月度趋势分析
  • 需求2:某科室国家标配(占比)和医院现状(占比)的对比分析
6.4.1 需求1:某科室医、护患比月度趋势分析
利用SQL语句,统计不同科室有多少医生、护士
"--------医生人数统计----------"
select
    deptno,deptname,
  count(name) 医生人数
from doctor
group by deptno,deptname

"--------护士人数统计----------"
select
    deptno,deptname,
  count(name) 护士人数
from nurse
group by deptno,deptname

"--------患者不同科室、不同月份的人数统计----------"
select 
   deptno,in_month,
     count(name) 患者人数
from hospital
group by deptno,in_month

结果如下:

图片

进行表连接,得到我们用于绘图的数据
select 
       a.deptname,in_month,
       (患者人数/医生人数) as 医患比,
       (患者人数/护士人数) as 护患比
from
(select
       deptno,deptname,
  count(name) 医生人数
from doctor
 group by deptno,deptname) a,

(select
  deptno,deptname,
    count(name) 护士人数
from nurse
group by deptno,deptname) b,


(select 
     deptno,in_month,
   count(name) 患者人数
from hospital
group by deptno,in_month) c
where a.deptno = b.deptno and a.deptno = c.deptno

结果如下(截取部分结果如下):

图片

在帆软中,利用上述SQL语句,得到最终的绘图数据

图片

插入一个折线图

图片

点击上述的编辑后,进行数据源的绑定

图片

进行标题的设置(很关键)

由于我们未来需要进行联动效果的设置,也就是说,你选择哪一个科室,标题就要显示哪一个科室,这一步很关键。这里强调一下,下面的叙述中,就不再介绍了。

图片

添加两条警戒线(也就是我们常说的参考线)

我们知道国家配比关系:医患比(1:5)、护患比(1:2.5),因此以2.5和5为准,各做一条参考线,可以将医院的现状和这条参考线,进行清楚的对比。

图片

注意:同理,我们可以再次添加一个护患比趋势线,操作步骤一摸一样,这里不做演示。

保存操作后,进行效果展示

注意:每次做完每个操作后,最好保存一下。

图片

问题来了:此时的科室表,与下方的折线图并不能进行联动,因此怎么办呢?

科室表与折线图联动效果的设置

首先,我们编辑这个“科室表”

图片

当出现如下界面,完成如下操作。

图片

当出现如下界面,完成如下操作。

图片

保存后,进行效果展示。

图片

6.4.2 需求2:某科室国家标配(占比)和医院现状(占比)的对比分析
利用SQL语句,得到“某科室国家标配占比”
SELECT * FROM `normalconfig`
where deptname='${科室名称}'

操作如下:

图片

插入一个饼图,并选择为“圆环图-旧版本”,并选择为立体圆环图

图片

进行数据源的绑定

图片

进行标题的设置(为什么设置,上述已经进行了说明)

图片

注意:我其实还进行了其它参数的设置,很简单,这里我们就不截图演示

接着,我们再次进行“科室表”与圆环图,联动效果的设置

首先,我们编辑这个“科室表”

图片

当出现如下界面,完成如下操作。

图片

当出现如下界面,完成如下操作。

图片

保存后,进行效果展示。

图片

同理,我们可以做出,“某科室自己医院现状标配占比”,由于大部分步骤一样,这里就只演示不同的步骤。只有“绑定数据源”这一步操作不同。

图片

但是此时并不行,为什么呢?因为我们左右两个圆环图的图例并不是一一对应。此时,我们将“国家标配”这个圆环图,今行字段的调整。

图片

保存后,进行效果演示。

图片

6.5 就诊情况分析

  • 需求1:某科室现有及标配病床对比分析(条形图)
  • 需求2:病床利用率
  • 需求3:某科室病床利用率月度趋势分析
6.5.1 需求1:某科室现有及标配病床对比分析
利用SQL语句,统计现有及标配病床数
select 
       a.deptname,
       标配,
       现有,
       (标配-现有) as 差值
from 
(select 
       deptno,deptname,bednum as 标配
 from normalconfig
) a,
(select 
  deptno,deptname,bednum as 现有
 from department
 ) b
where a.deptno = b.deptno

结果如下(截取部分如下):

图片

在帆软中,利用上述SQL语句,得到最终的绘图数据

图片

插入一个条形图,并进行数据的绑定

图片

进行标题的设置

图片

动态闪烁效果展示:特效功能

当某个值出现了负数,就标红。

图片

接着,我们再次进行“科室表”与条形图,联动效果的设置

首先,我们编辑这个“科室表”

图片

当出现如下界面,完成如下操作。

图片

当出现如下界面,完成如下操作。

图片

保存后,进行效果展示。

图片

6.5.2 需求2:病床利用率

病床利用率 = 一个月的患者人数 / 病床数(0.7-0.9表示还不错)

利用SQL语句,统计病床利用率达标的科室
select
        deptname,
        in_month,
        round((患者人数/bednum),2as 病床利用率
from
(select
     *
from department) a,

(select 
    deptno,in_month,
    count(name) as 患者人数
from hospital
group by deptno,in_month) b
where a.deptno = b.deptno
and (患者人数/bednum) >0.7 and (患者人数/bednum) <= 0.9

结果如下:

图片

在帆软中,利用上述SQL语句,得到最终的绘图数据

图片

插入一个条形图,并进行数据的绑定

图片

保存后,进行效果展示

图片

6.5.3 需求3:某科室病床利用率月度趋势分析
利用SQL语句,统计现有及标配病床数
select
       deptname,
       in_month,
       round((患者人数/bednum),2as 病床利用率
from
(select
    *
from department) a,

(select 
   deptno,in_month,
   count(name) as 患者人数
from hospital
group by deptno,in_month) b
where a.deptno = b.deptno

结果如下(截取部分如下):

图片

在帆软中,利用上述SQL语句,得到最终的绘图数据

图片

插入一个条形图,并进行数据的绑定

图片

进行标题的设置

图片

添加一个参考线:0.85

图片

接着,我们再次进行“科室表”与条形图,联动效果的设置

首先,我们编辑这个“科室表”

图片

当出现如下界面,完成如下操作。

图片

当出现如下界面,完成如下操作。

图片

保存后,进行效果展示。

图片

6.6 收入情况分析

  • 需求1:某科室住院收入月度趋势分析
  • 需求2:病床利用率
6.6.1 需求1:某科室住院收入月度趋势分析
利用SQL语句,统计现有及标配病床数
select 
       deptname,in_month,收入
from 
(select 
       deptno,in_month,
       round(sum(lastincome),2as 收入
from hospital
group by deptno,in_month) a,
(select * from department) b
where a.deptno = b.deptno

结果如下(截取部分如下):

图片

在帆软中,利用上述SQL语句,得到最终的绘图数据

图片

插入一个条形图,并进行数据的绑定

图片

进行标题的设置

图片

接着,我们再次进行“科室表”与条形图,联动效果的设置

首先,我们编辑这个“科室表”

图片

当出现如下界面,完成如下操作。

图片

当出现如下界面,完成如下操作。

图片

保存后,进行效果展示。

图片

推荐阅读

数据分析之 AB testing 实战(附 Python 代码)

Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"

最详细的 Python 结合 RFM 模型实现用户分层实操案例!

利用 Python 进行多 Sheet 表合并、多工作簿合并、一表按列拆分


原创不易,如果你觉得这篇文章对你有点用的话,麻烦你为本文点个赞、评论或转发一下,因为这将是我输出更多优质文章的动力,感谢!

对了,掘友们记得给我点个免费的关注哟!防止你迷路下次就找不到我了。

我们下期再见!