帆软BI开发-Day2-趋势图的多种变形

前言:

        在BI数据展示中,条形图、趋势图无疑是使用场景非常多的两种图形。与条形图不同的是,趋势图更能反馈出一定的客观规律和未来的趋势走向,因此用于作为预警和判异的业务场景,但实际业务场景的趋势图可没你想的那么简单,今天我们一起来讨论下怎么在帆软上实现复杂的趋势图的需求吧。

一、自我介绍-趋势图

        1、自我介绍

        帆软趋势图是一种基于趋势分析的数据可视化图表,它展示的是数据在一段时间内的变化趋势。该图表常用于股票、商品、科技和经济领域的分析。

        帆软趋势图通常由一个Y轴和一个X轴组成。Y轴表示数据的变化,X轴表示时间的走势。通过连接数据点,可以清晰地看到趋势的变化情况,包括上升趋势、下降趋势以及震荡趋势等。

        帆软趋势图还可以加入多条线,以展示不同数据之间的比较情况。例如,在股票分析中,我们可以同时显示几支股票的价格趋势,以便更好地比较它们的表现。

        帆软趋势图在数据分析和决策制定中有着广泛的应用,它可以帮助我们更好地理解数据的变化趋势,从而更准确地制定决策方案。

        2、应用实例

        2.1八大判异

         2.2CTP分析

        

        2.3 CTQ分析

 二、实现说明

        如上图实际应用案例所示,我们展示的趋势图,不仅仅是一条曲线,如在八大判异里面在一条曲线上面有不同的颜色、图形等来表示对应点或者连续的趋势存在预警或者异常。在CTP里面我们可以选择任一多条曲线来进行对比分析。在CTQ里面我们更可以标准上下限、中值、六西格玛线作为参照线来看对应的趋势点落在哪个区间并结合八大判异来展示动态展示对应需求的预警判异点及趋势来满足复杂的需求。

        为了让我们更好的了解趋势图,我们将趋势图拆分为两大类,及分类-X轴,系列-Y轴,来详细说明底层的实现逻辑。

        1、分类-X轴

       分类就是趋势图的X轴,一般是类似时间的数据,但有时候也可以是批次,因为有时候业务会需要看连续几个批次的数据变化等等,当然也可以是万物,因此分类-X轴,我们可以选择任一需要分析的维度。唯一需要注意的是,我们需要在同一个趋势图里面保证唯一性, 数据我们保持数据的统一,默认会对相同的分类值进行求和。类似于sum(分类) group by 分类。

        如上图所示,默认会将分类SM相同的值D0/USL/LSL等做求和处理。 

         2、系列-Y轴

        系列为按分类显示的维度值,如上图所示的D0/USL/LSL等等,系列可以为1个或多个,为了展示较好的系列趋势效果,一般会设置最大值、最小值和趋势线,设置最大、最小值的目的是为了让对应图形尽量显示居中,值得注意的是,为了图形好看,应该设置系列的最大值为,所有系列中最大值*1.02,最小值设置为系列中最小值*0.98。对应获取多个字段的最大值可使用greatest函数,获取多个字段最小值可使用least函数,详细系列介绍,可点击下方链接。

       图表系列- FineReport帮助文档 - 全面的报表使用教程和学习资料

    三、特殊案例

        下面来讲解几个特殊的趋势案例。

        1、多趋势图,趋势图数量按用户选择变化

        如上图所示,用户选择了3个批次数据,就会显示3个不同的趋势,这是怎么实现的呢?

        如上图所示,选择“字段值”,系列名为用户选择的内容,相当于根据用户选择的系列名的多少进行分组,当选择系列名为3个不同的时候,就会生成3个趋势图。 这时候的分组维度有两个,一个为“分类”,一个为“系列名”,类似select fywd from t group by 分类,系列名

        2、固定多个趋势图,显示多个系列数据

        如上图所示,我们展示了反应温度,多个不同批次的数据变化趋势。如果想展示,同一个批次,不同项目的趋势变化呢?如展示同一个批次 D0/D5/D10/D50/D90/D95/D100多个项目的趋势变化。

        如上图所示我们展示了,同一个批次,多个项目的趋势变化。那这是怎么实现的呢?

        如上图所示,我们选择“字段名” 的形式,此时的分组维护就只会有一个,即分类。对应系列名是自定义,可根据需求灵活自定义。

     四、趋势线+多Y轴

        1、趋势线

        提的一提的是,为了辅助查看趋势图和预测未来的趋势,我们可以生成趋势线,来查看趋势图的趋势变化。对应趋势线设置,一般选择线性拟合,来预测观察,趋势图的变化,具体设置如下图所示。

        2、多Y轴

        在上面说到,我们在查看同一个批次不同项目的趋势变化时,为了让所有项目的值尽量居中,我们会采用多Y轴的形式,让各个项目之间互不影响。具体操作即做堆积坐标轴。通过设置多个Y轴,并为多个Y轴命名来区分每个Y轴对应的含义,具体操作如下图所示。

        值得一提的是,官方文档说只有自定义图表才能有该功能,经过实际测试,任何 图表都是有该功能的,只是要配置好对应的堆积坐标轴即可。需要注意的是默认的第一个Y轴是不需要设置堆积坐标轴的。其他的堆积坐标轴按需求,一一对应匹配即可。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/111970.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频汇聚/视频云存储/视频监控管理平台EasyCVR分发rtsp流起播慢优化步骤详解

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

基于Java的大学生心理健康答题小程序设计与实现(亮点:选题新颖、可以发布试卷设置题目、自动判卷、上传答案、答案解析)

校园点餐小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统主要功能5.1 登…

vue3 + elementPlus实现select下拉框插入确定和取消按钮。

实现思路 Select 选择器 | Element Plus 1、select方法visible-change这个方法是下拉框出现/隐藏时触发,当显示的时候将两个按钮插入到下拉框里面,是基于原生插入DOM的这种方式; 2、通过vue3 ref获取selectDOM,在获取select的p…

如何实现一个简单的深度优先搜索(DFS)算法?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 实现深度优先搜索⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前…

Spring Cloud Alibaba Nacos注册中心(单机)

文章目录 Spring Cloud Alibaba Nacos注册中心(单机)1. docker 安装 nacos(先别着急)2. 配置nacos持久化到mysql、2.1 properties 文件 3. java注册3.1 POM文件3.2 properties文件3.3 测试配置中心 4.注册中心4.1 配置文件4.2测试…

ArcGIS Engine:C#基础语法的了解

目录 01 前言 02 实验 2.1 创建“Hello World”程序 2.2 创建程序,完成成绩评定功能 2.3 创建程序,完成1到100的累加 2.4 窗体应用程序 01 前言 学了一些语言了,确实发现,语言只是工具,只有你作为初恋的语言值得…

postman连接websocket, 建立连接、聊天测试(v8.5.1)

1. postman v8.5版本 以上支持 websocket。 2. 选择websocket请求模块File - New... 3. WebSocketServer.java import org.springframework.stereotype.Component; import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.Server…

C# 流Stream详解(3)——FileStream源码

【FileStream】 构造函数 如果创建一个FileStream,常见的参数例如路径Path、操作方式FileMode、权限FileAccess。 这里说下FileShare和SafeFileHandle。 我们知道在读取文件时,通常会有两个诉求:一是如何更快的读取文件内容;二…

性能测试-性能工程落地的4个阶段(21)

性能工程按照不同的内容和目的划分为4个阶段,分别是线下单系统压测分析阶段、线下全链路压测分析阶段、生产只读业务压测及容量评估阶段、生产读写业务全链路压测及容量评估阶段。(也可以理解为一个企业性能测试体系的发展阶段) 线下单系统压测分析阶段 针对单系统的性能…

数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程。以下是我之前写的一个自动化测试的小Demo。这个Demo基于Selenium与Java。由于现在Selenium在自动化测试的统治地位,并且随着Selenium 4的即将发布,在未来很长的一段时间里…

npm 清缓存(重新安装node-modules)

安装node依赖包的会出现失败的情况,如下图所示: 此时 提示有些依赖树有冲突,根据提示 “ this command with --force or --legacy-peer-deps” 执行命令即可。 具体步骤如下: 1、先删除本地node-modules包 2、删掉page-loacl…