不懂代码,如何做出实时刷新的数据大屏

首先恭喜你,当你看到这篇文章的时候,不管你是小白还是大咖,你都将直接获得一个高级技能:轻松上手可实时刷新的酷炫大屏。

制作可视化大屏,一般有这么几种方案:

  • 写代码调用数据和图表,比如写JS+Echarts ;
  • 直接的数据可视化工具

前者对于大部分人来说门槛较高,而且尤其是大屏需求比较多,比方说要做10个的情况下,亲身试验写代码容易奔溃。如果涉及大量的动态可视化,涉及大数据量,没有底层技术,性能就会大打折扣。而且投到不同尺寸的屏幕,调试起来非常麻烦。

那么有没有一种简单的可视化大屏方案,可以快速的设计样式呈现效果、自适应不同大小的屏幕、而且还可以实时刷新数据?

有,选择后者,直接用数据可视化工具。

市面上能做到直接呈现在LED屏幕的大屏可视化工具并不多,多数需要代码调试,报表工具FineReport和FineBI工具可直接实现,相对来讲FineBI使用更简单,本文也是基于FineBI,来教大家做可实时刷新的数据大屏。

先来看看我们今天即将要教大家做的大屏效果(请接受一波酷炫可视化的冲击!)

image.png

不懂代码,如何做出实时刷新的数据大屏?

1、快速上手学习BI工具

FineBI是一个可视化的自助式BI工具,整个操作就是导数据/连数据库——处理数据(可视化ETL)选择图表——拖数据字段——可视化展现&美化,操作简单上手快。多数情况下,这个工具都是拿来做可视化报表,对接企业大数据平台,做企业数据运营分析用。

2、构建数据模型

掌握了finebi的基础功能:怎么连接数据,怎么趋势,怎么做图表。接下来就到了正式做大屏步骤,先是构建数据模型。

大屏也是有主题的,本质是对一类业务的分析,然后综合展示,比如销售大屏。像这类业务分析一般要用到多张维度表和事实明细表的数据(例如下图中的分公司维度表和合同事实表)。常规操作是将不同业务系统的sql表拼接、宽表拼接,构成一个星型数据模型,需要你有专业的数据仓库技能。那这里化繁为简,可以直接用工具自带的敏捷数据模型去替代上述的工作,原理是自动构建雪花型模型,跨数据源关联。

image.png

搭建好上图的销售demo业务包的数据表和关联模型之后,下一步就可以进行正式的销售管理驾驶舱大屏搭建。

3、大屏布局设计

在给大家介绍具***作过程之前先讲解一下通常管理驾驶舱的布局方式。管理驾驶舱往往展现的是一个企业全局的业务,一般分为主要指标和次要指标两个层次,主要指标反映核心业务,次要指标用于进一步阐述分析。所以在制作时给予不一样的侧重,这里推荐几种常见的版式。

image.png

上面几个版式不是金科定律,只是通常推荐的主次分布版式,能让信息一目了然。实际项目中,不一定使用主次分布,也可以使用平均分布,或者可以二者结合进行适当调整。比如下图所示,指标很多很多,存在多个层级的,就根据上面所说的基本原则进行一些微调,效果会很好。

image.png

4、实际分析制作过程

有了以上的布局设计,每一个模块就单独用一类图表分析一块内容,比如销售分布、签单分布、回款金额分析……整体呈现一个主题(在这里是销售业务)的分析。

那具体如何用工具操作呢?

首先,既然是销售管理驾驶舱,那么我们可以先从领导和高层最为关注的公司签单金额和回款金额入手。对于这样的汇总指标,选择仪表板进行数据展示再合适不过了。选择拖入合同事实表中的合同金额和合同回款表中的回款金额两个指标,样式这里选择圆环仪表盘,同时两个指标的单位都设置成亿,最大刻度输入当前合同金额,2.78亿。这样一来,2.78亿的合同回款,2.25亿的回款金额以及80.87%的总的回款率也就统计出来了,企业的签单金额和回款金额/回款率都一目了然。

image.png

其他部分也是一样的原理,篇幅原因不多介绍,核心是要知道展现哪些数据指标。

5、实时刷新功能

如何做出实时刷新的数据大屏,本篇还有一个重点内容就是大屏的实时刷新功能,也是大家问得比较多的。

所谓实时刷新,即你展示出来的酷炫大屏上面的数据将是动态刷新,能够实时反映数据库中的数据。我们的大屏通常连接着数据库,我们打开报表的时候,会读取数据库中的数据,但数据库中的数据可能是动态变化的,如果要读取变化的数据的话,不需要我们重新打开刷新报表,报表中的数据将动态自动刷新。

FineBI实时刷新的底层技术和性能:

实时刷新的实现所依靠的一个重要支撑,是FineBI自带的FineDirect直连引擎。FineDirect直连引擎给出了数据端到应用端的完整解决方案,支持连接企业已有的大数据计算平台,如Hadoop、Kylin、Greenplum、Vertica等,在充分利用平台计算性能的同时,也解决了TB至PB级超大数据量多维分析的难题。

FineDirect是FineBI推出的大数据直连引擎功能模块,用于更好地处理超大数据量的分析要求和数据源实时性的需求。通过FineDirect直连引擎可以直接对接现有的数据源,无论是传统的关系型数据库(Oracle,Sqlserver),还是日益成熟的Hadoop生态圈,Mpp架构的解决方案,都可以直接进行自助取数分析,实现更敏捷的、更及时的决策分析。

FineDirect引擎核心特点

①PB级别数据量多维分析

FineDirect直连引擎给出了数据端到应用端的完整解决方案,支持连接企业已有的大数据计算平台,如Hadoop、Kylin、Greenplum、Vertica等,在充分利用平台计算性能的同时,也解决了TB至PB级超大数据量多维分析的难题。

②实时大数据分析

FineDirect能够连接实时数据进行分析,及时返回分析结果。基于FineDirect的可视化引擎,可以将用户拖拽分析的操作,实时地转化为经过处理的查询语言,实现对企业数据库实时分析的效果。

③双引擎模式灵活搭配

FineBI已有FineIndex引擎(原cube)和新的FineDirect直连引擎可以搭配使用,来满足不同的应用场景。企业可以根据实际需求的不同准备两种类型的数据,通过FineIndex模式配置那些不经常更新、实时性要求不高的数据;通过FineDirect直连引擎配置大数据量且有实时分析需求的数据,双管齐下。

最后,如果对大屏制作感兴趣,可以下载FineBI体验下~


关注公众号,了解更多it技术(it问答网

【简答题】JavaWeb必问8道简答题

1、说一说Servlet生命周期

servlet的生命周期是初始化(init)、服务(service)、销毁(destroy)

1.初始化(init):当第一次访问Servlet时调用init方法进行初始化,只初始化一次

2.服务(service):方法被调用时调用service方法进行服务,在项目启动期间可以进行多次服务

3.销毁(destory):当服务器关闭时调用destory方法进行销毁。只销毁一次

2、什么是jsp?jsp和Servlet有什么区别?

Servlet是服务器端的程序

JSP是服务器页面程序

JSP本质上就是一个Servlet,在访问jsp时,在服务器端会将jsp先转换成servlet,再将生产的servlet的结果响应给浏览器。

jsp相当于html页面中内嵌Java代码,侧重页面显示;Servlet是中书写Java代码,侧重逻辑控制;

3、Servlet接口中有哪些方法?

1.init(ServletConfig):初始化方法,第一次请求前执行,完成servlet初始化工作

2.service(ServletRequest,ServletResponse):执行方法,一次请求执行一次。

3.destroy():销毁方法,Servlet对象应该从服务中被移除的时候,容器会调用该方法进行销毁操作

4.getServletConfig():获得ServletConfig配置对象,包括初始化参数等。

5.getServletInfo():获得Servlet描述,一般没有用。

4、什么情况下调用doGet()和doPost()?

1、doGet():地址栏url方式访问、超链接访问、以及form表单中的method属性值为get方式访问,则调用doGet()方法

2、doPost():form表单中的method属性值为post方式访问,则调用doPost()方法

5、get请求和post请求有何区别

1. 表现形式:get在url中拼凑请求参数。Post请求参数在请求体中;

2. 安全性:get请求参数追加在路径上,可见不安全,post请求参数在请求体中,一般人不可见,较安全。

3. 数据大小:get提交数据有限,post无限。

6、forward和redirect的区别

1.地址栏是否改变:forward浏览器端网址不会发生变化,redirect浏览器端地址会变成;

2.是否可共享请求参数:forward是转发,属于同一个请求,request域中的数据可以传递;redirect是两次请求,request域中的数据不能传递;

3.是否可站外跳转:forward一般用于网站内部跳转,redirect可在站内跳转,也可跳转到其它网站。

7、JSP九大内置对象

1.request:请求对象

2.response:响应对象

3.session:回话对象

4.pageContext:页面上下文对象

5.application:类型是ServletContext,表示servlet上下文对象,可以在整个web项目中共享资源。

6.out  输出对象

7.page JSP网页本身

8.config Servlet的配置对象

9.exception 异常对象

8、讲解JSP中的四种作用域。

application:在当前web项目中有效

session:在当前会话中有效

request:在当前请求中有效

page:在当前页面有效


关注公众号,了解更多it技术(it问答网

restcontroller和controller区别

1. Controller, RestController的共同点

都是用来表示Spring某个类的是否可以接收HTTP请求

2.  Controller, RestController的不同bai点

@Controller标识一个Spring类是Spring MVC controller处理器

@RestController:  a convenience annotation that does nothing more than adding the@Controller and@ResponseBody annotations。  @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。

3、如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

例如:本来应该到success.jsp页面的,则其显示success.

4、如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。

5、如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。


关注公众号,了解更多it技术(it问答网