复杂报表设计之动态报表

需求说明

如上图所示,可以需选择不同的分组维度进行数据分析,例如类别、供应商维度;
可以通过用户输入的参数值进行数据动态过滤,例如传入不同供应商、类别的值进行数据查询过滤;
可以选择要显示的附加字段数据;
同时要求显示有排名(每个分组内的数据从大到小显示)、占比(产品占该分组维度总订购量的百分比)。

制作过程:

1. 数据准备

此示例使用脚本数据集完成数据的准备工作,此处使用脚本数据集是处于对组内排名需求的考虑,完整脚本配置如下图所示:

其中,
A1:使用 connect 函数连接 demo 数据源
A2:使用 query 函数进行数据的过滤查询
A3:使用 group 和 sort 函数实现组内排序效果,即排名结果

2. 主报表制作

其中,
A2:=if(arg1==“供应商 ID”,ds1.group( 供应商 ID:1),ds1.group(类别 ID:1)) 实现动态分组效果
B2:=ds1.sum(订购量) B 列为隐藏列,用于占比的分母值计算
C2:=&D2 排名效果实现,此处使用组内序号的配置即可,数据集准备的数据中已完成排名计算
D2:=ds1.select(产品 ID) 明细数据的展现,跟随 A2 不同的分组维度显示产品明细
E2:=ds1. 订购量 同一个数据集的 select 函数后面跟随取值表达式,不需要再使用 select 函数取数
F2:=if(B2==0,“-”,E2/B2) 占比的实现是除法,准备好分子和分母的数据即可,此处使用 if 对分母为 0 的数据做了特殊处理,显示为“-”
G1:=split(arg4,“,”) 对传入要附件显示的列名进行拆分,需要设置 G1 单元格的扩展方式为横向扩展
G2:=ds1.field(G1) 使用 field 函数对该字段进行取数显示

主表设计完成,保存报表,例如保存名称为:kehu1.rpx,我们可以通过设计器的预览按钮看下效果:

输入参数值后,得到如下结果:

3. 参数模板设计

文件–新建报表,设置报表属性中的报表类型为:参数模板
绘制上图所示的表样
其中,
B2:编辑风格为下拉列表,并设置 web 变量名为 arg1

D2:编辑风格为下拉数据集,并设置 web 变量名为 arg2

此 ds1 数据集需在参数模板的 报表–数据集中进行定义

F2:编辑风格为下拉数据集,并设置 web 变量名为 arg3
B3:编辑风格为下拉列表,并设置 web 变量名为 arg4

最后,将参数模板保存为主表名称 _arg.rpx,此示例名称为 kehu1_arg.rpx

至此,整体效果已完成设置。

原文地址:https://www.cnblogs.com/shiGuangShiYi/p/12078318.html

时间: 2024-08-30 16:56:44

复杂报表设计之动态报表的相关文章

用这款免费工具,即可解决 90% 的报表设计难题

用这款免费工具,即可解决 90% 的报表设计难题 大数据时代,数据价值愈发彰显,数据分析正在成为影响业务决策的关键因素.其中,数据分析的结果以报表的形式呈现给用户,究竟什么样的报表设计才能真正让用户满意,如何保证用户在复杂的数据字段中快速查询到想要的结果,用怎样的数据分析方式才能为企业带来价值?这些疑问伴随着企业报表开发的整个生命周期,在不断消耗报表开发者精力的同时,也让不少项目团队产生怀疑. 那么,在报表开发和设计过程中,您是否也遇到过如下难题: 了解报表需求,但不知如何实现 了解业务需求,但

报表设计

数据源管理 进入"平台管理"点击"数据源管理"则进入数据源管理列表,可添加.删除.修改.查看数据源. 名称:数据库的名称   数据库:支持Mysql.oracel.DB2.SQLServer.Sybase等数据库.   URL: 数据库连接地址.   用户名:数据库用户名.   密码:数据库密码.   初始化连接数:启动报表服务器时建立的数据库连接数,最小连接数默认为0, 取值应在最小连接数与最大连接数之间.   最大连接数:连接池中保留的最大连接数.   最大空闲

集算报表与润乾报表处理动态报表时的异同

集算报表继承了润乾报表的宏机制来处理动态报表,对于简单的动态报表使用宏实现非常方便.对于一些复杂的动态报表,集算报表还提供了脚本数据集来处理动态报表,适合宏无法实现的场景,而润乾报表中要实现复杂动态报表时则需要编写自定义数据集来完成.下面通过几个例子来详细比较一下集算报表和润乾报表在处理动态报表时的相同与不同点. 相同点 集算报表和润乾报表都提供了宏,使用方式几乎完全一致,且都包含普通宏和动态宏.         普通宏常用于静态内容替换,如在员工表中同时只希望查看薪金或奖金,开发两张报表显然是

FastReport报表设计

目录 5.1 前言 5.2 基本概念及操作 5.3 报表设计与范例 5.4 常用功能及函数 5.5 报表设计常用技巧 5.1 前言 汽车业务管理系统(VBMS)使用FastReport3.0报表系统设计报表.    本文主要描述使用FastReport设计报表的基本概念.使用方法.设计技巧和范例,不是FastReport的用户手册因此并不针对每个细节进行阐述.立足于建立设计报表的概念和实用技巧范例的讲解,面对的是具有一定计算机操作水平的用户.在VBMS中使用FastReport设计报表应该掌握以

birt 报表设计总结

1, 通过sql查询出来的数据,当某个字段没有值时,我们期望显示别的东东 在表格单元格或者网格中选中这个值, 在属性编辑器-->映射--> 在映射表中添加映射条件 2, 显示报表参数值,如果报表参数值没有值,我们可能需要处理一下 可以在动态文本框中使用类似于下面的表达式 "柜员号:"+(params["tellId"].value==""?"没值":params["tellId"].value)

ReportViewer动态报表开发完整步骤

在朋友的邀请下,给他们公司开发一个简单的公司门户网站.本人都多年没有写ASP.NET C#代码了.这几年都在做数据库和商务智能这块.反正朋友说网站不难,就个简单的展现网站,于是就答应了,找了一天到他们公司去听具体的开发需求,听了需求后,觉得难道不是很大,主要的难点在一个在线租赁平台.朋友的公司是做检测设备租赁的.于是就答应了.承诺在1个月内做好.主要是周末和晚上做. 所有的框架和页面展示功能都还可以,很快就开发好了.但是当在开发打印报表的时候,遇到了就障碍,主要是自己以前做的大多是C/S的开发.

FastReport报表设计(仔细看)

FastReport报表设计 2011-06-16 16:56:19|  分类: 系统开发|举报|字号 订阅 下载LOFTER我的照片书  | 目录 5.1 前言 5.2 基本概念及操作 5.3 报表设计与范例 5.4 常用功能及函数 5.5 报表设计常用技巧 5.1 前言 汽车业务管理系统(VBMS)使用FastReport3.0报表系统设计报表.    本文主要描述使用FastReport设计报表的基本概念.使用方法.设计技巧和范例,不是FastReport的用户手册因此并不针对每个细节进行

java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫

获取[下载地址]   QQ: 313596790   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器(开发利器)+快速构建表单;            QQ:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 B 集成阿里巴巴数据库连接池druid;

微软BI 之SSRS 系列 - 实现 Excel 中图表结合的报表设计

来自群里面讨论的一个问题,EXCEL 中有类似于这样的图形,上面是 Chart, Chart X轴上的值正好就是下方 Table 的列头,这个在 SSRS 中应该如何实现? SSRS 2008.2008RS,2012 中实际上没有这种对应的控件,我们通常想到的方式可能是上方一个单独的 Chart 图,下方一个 Table 然后合并在一起.但是这样会存在一些问题,因为 Chart 轴的值不是固定的,会随着聚合值的增加而扩展.并且对于表中的列头来说也没有办法完全能够和 Chart X 轴上的坐标对应