帆软 FineReport 绘制漏斗图

七一建党节,祝党生日快乐!
夏日炎炎,周末在家,想起在用帆软做页面展示的时候,使用到了漏斗图,记录下来,方便查看。
以订单销量变化为例,分为五个阶段,商品浏览人数,点击商品人数,创建订单人数,加入购物车人数和支付订单任务等,来实现效果。展示效果大致如下图所示。
在这里插入图片描述

第一步、构造基本列表

新建数据集,根据五个阶段来组装SQL,即通过union连接后再group by 实现统计,查询SQL如下所示,仅做参考,可根据具体业务调整。

select 
data_type,
sum(aa.pvNum) as pvNum,
sum(aa.clickNum) as clickNum,
sum(aa.createNum) as createNum,
sum(aa.cartNum) as cartNum,
sum(aa.payNum) as payNum
from (
SELECT '商品浏览人数' AS 'data_type',COUNT(*) AS pvNum,0 AS clickNum,0 AS createNum,0 AS cartNum,0 AS payNumFROMtb_orderWHERE1 = 1 AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)UNION ALL SELECT '点击商品人数' AS 'data_type',0 AS pvNum,COUNT(*) AS clickNum,0 AS createNum,0 AS cartNum,0 AS payNumFROMtb_orderWHERE1 = 1 and order_status IN ('CO','OP','FN')AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)UNION ALL SELECT '创建订单人数' AS 'data_type',0 AS pvNum,0 AS clickNum,COUNT(*) AS createNum,0 AS cartNum,0 AS payNumFROMtb_orderWHERE1 = 1 and order_status = 'CO'AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)UNION ALL SELECT '加入购物车人数' AS 'data_type',0 AS pvNum,0 AS clickNum,0 AS createNum,COUNT(*) AS cartNum,0 AS payNumFROMtb_orderWHERE1 = 1 and order_status = 'CA'AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)
UNION ALL SELECT '支付订单人数' AS 'data_type',0 AS pvNum,0 AS clickNum,0 AS createNum,0 AS cartNum,COUNT(*) AS payNumFROMtb_orderWHERE1 = 1 and order_status = 'OP'AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)
) aa

绘制列表,对应字段绑定,效果如下图所示。
在这里插入图片描述
在浏览器预览效果如下。
在这里插入图片描述

第二步、绘制漏斗图

在列表下方单元格,点击属性列表,选择插入元素-插入图表,在类型中选择漏斗图(新特性),操作如下图所示。
在这里插入图片描述
构造数据源,类似的,五个阶段要分别拼接,展示值和对应的显示名要分开,即 key-values形式,注意要添加排序字段。

SELECT data_type, num
FROM(SELECT '商品浏览人数' AS 'data_type',COUNT(*) AS num,1 AS ordSeqFROMtb_orderWHERE1 = 1 AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)UNION ALL SELECT '点击商品人数' AS 'data_type',COUNT(*) AS num,2 AS ordSeqFROMtb_orderWHERE1 = 1 and order_status IN ('CO','OP','FN')AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)UNION ALL SELECT '创建订单人数' AS 'data_type',COUNT(*) AS num,3 AS ordSeqFROMtb_orderWHERE1 = 1 and order_status = 'CO'AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)UNION ALL SELECT '加入购物车人数' AS 'data_type',COUNT(*) AS num,4 AS ordSeqFROMtb_orderWHERE1 = 1 and order_status = 'CA'AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)
UNION ALL SELECT '支付订单人数' AS 'data_type',COUNT(*) AS num,5 AS ordSeqFROMtb_orderWHERE1 = 1 and order_status = 'OP'AND DATE_FORMAT(created_time, '%Y-%m-%d') >= DATE_ADD('${beginDate}', INTERVAL 1 DAY)AND DATE_FORMAT(created_time, '%Y-%m-%d') <= DATE_ADD('${endDate}', INTERVAL 1 DAY)) main
ORDER BY ordSeq asc
;

编辑栏-数据,数据来源选择数据集数据,即上一步新建的,选择使用字段值,指定系列名和值,效果如下所示。
在这里插入图片描述
编辑栏-样式,可设置漏斗图的标题,图例等信息,效果所下图所示。
在这里插入图片描述
放大图的范围,即选中区域后,合并单元格,如下图所示。
在这里插入图片描述
图例页签下,勾选图例可见,在浏览器预览效果如下图所示。
在这里插入图片描述
比如可以使用标签,在编辑栏-格式,标签下-标签,使用标签
在这里插入图片描述
在浏览器展示效果如下图所示。
在这里插入图片描述
以上就是漏斗图添加的过程,帆软自带有很多属性,可以调试查看效果,祝好!

异常处理

【1】结果显示乱码,如????
处理方案
在数据库连接后指定编码方式为 utf8
在这里插入图片描述

?useUnicode=true&characterEncoding=utf8

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

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

相关文章

leetcode526. 优美的排列(回溯算法-java)

优美的排列 leetcode526. 优美的排列题目描述接替思路代码演示: 动态规划专题 leetcode526. 优美的排列 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/beautiful-arrangement 题目描述 假设有从 1 到 n 的 n 个整数。用…

机器学习——决策树1(三种算法)

要开始了…内心还是有些复杂的 因为涉及到熵…单纯的熵&#xff0c;可以单纯 复杂的熵&#xff0c;如何能通俗理解呢… 我也没有底气&#xff0c;且写且思考吧 1. 决策树分类思想 首先&#xff0c;决策树的思想&#xff0c;有点儿像KNN里的KD树。 KNN里的KD树&#xff0c;是每…

React 简单实现 v-if和v-show的元素控制效果

react中并没有直接的想模板引擎那样的命令可以直接控制元素展示 但是 我们了解了 v-if和v-show之后 还是大有文章的 我们在 项目的 src下创建 components 文件夹 创建dom.jsx 编写代码如下 import React from "react" export default class dom extends React.Comp…

Blender骨骼绑定

演示视频参考连接:Blender骨骼绑定教程3&#xff1a;清除绑定 & Deform & 权重修改_哔哩哔哩_bilibili https://www.youtube.com/watch?vqz86PWlK_8s&ab_channelOutlawVideoProduction &#xff08;用Auto Rig Pro插件&#xff09; https://www.youtube.com/…

MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存

文章目录 在 handle 包下新建Jsonb处理类方式一方式二 PostgreSQL jsonb类型示例新建数据库表含有jsonb类型创建实体类创建Control 发起请求 在 handle 包下新建Jsonb处理类 方式一 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFea…

【Python 随练】按键变色

题目&#xff1a; Press any key to change color, do you want to try it. Please hurry up! 简介&#xff1a; 在本篇博客中&#xff0c;我们将解决一个编程问题&#xff1a;按下任意键改变颜色。我们将提供一个完整的代码示例来实现这个功能&#xff0c;并鼓励读者尝试。…

【JavaScript】文档注释详解

文章目录 什么是文档注释为什么要写文档注释不使用文档注释存在的隐患使用函数成员时的书写问题调用函数时功能使用问题 文档注释官方标签函数参数标签 param参数类型 {}参数注释对象属性属性注释使用带有对象属性注释的参数 返回值标签 returns注释 作者标签 author许可证标签…

利用阿里云物联网平台(IoT)实现WEB数据可视化

一年前在阿里物联网平台测试过一个项目&#xff0c;后来就搁置了&#xff0c;昨天有事需要用&#xff0c;发现出错了。 调整完后写一下使用思路&#xff0c;以便未来之需。 阿里云物联网&#xff08;IoT&#xff09;主页&#xff1a;https://iot.aliyun.com/ 阿里云物联网&…

Linux操作系统配置代理服务器

PS:本文只是针对Linux操作系统对于代理服务器的配置操作&#xff0c;不涉及广告 1.代理的概念 代理服务器英文全称是Proxy Server&#xff0c;其功能就是代理网络用户去取得网络信息。形象的说&#xff1a;它是网络信息的中转站。在一般情况下&#xff0c;我们使用网络浏览器直…

【物联网无线通信技术】802.11无线安全认证

本文由简入繁介绍了IEEE802.11i无线局域网安全技术的前世今生&#xff0c;帮助路由器开发者对WLAN的加密安全策略有一个概念上的认知&#xff0c;能够更好地分析STA掉线以及漫游等问题。 目录 WEP WPA WPA/WPA2-PSK认证过程 802.11i WEP WEP是Wired Equivalent Privacy的简…

LabVIEW 图像处理功能

设置成像系统并采集图像后&#xff0c;您可以分析和处理图像&#xff0c;以提取有关被检测对象的有价值信息。 内容 图像分析图像处理斑点分析机器视觉 图像分析 影像分析结合了基于影像像素的灰度强度计算统计数据和测量的技术。您可以使用影像分析功能来确定影像质量是否足以…

浅谈小程序开发 [2018年]

一、问题背景 随着App市场趋近于饱和&#xff0c;大部分用户已经养成了使用习惯&#xff0c;加上开发和推广新的App的成本高&#xff0c;使得开发新的App很难在市场上生存。在此背景下&#xff0c;小程序应运而生&#xff0c;2016年&#xff0c;张小龙的微信团队首次推出了微信…