动态格报表的制作

接触过很多客户,在没有数据系统以前,很多报表都是用 excel 画的。这些 excel 表,大部分都是业务人员为了方便记录数据直接画的,在这样画出来的表样中,分组合并单元格相当自由不受约束。而当业务人员把这些 excel 交给程序猿哥哥用报表工具制作时候,很自然地也会希望报表能像 excel 一样随心所欲的去合并单元格。但是,这就令程序猿哥哥苦恼了,因为通常使用的报表开发工具制作出来的分组报表都是中规中矩的,很难根据业务人员提供的样板随心所欲地合并单元格。但这样又会让业务人员感觉很死板,不够灵活,甚至不能体现特定的数据关系。

现在,掌握了润乾报表的程序猿哥哥就要打破常规,挑战不可能了!也就是要做出根据相同数据任意进行横纵向合并分组格的效果,下图就显示了 XX 公司按层级展示的各网点和下属架构的考核指标,根据不同层级的粒度进行了合并显示:

看到这些效果图,我们的内心不禁敲起了小鼓,真的可以做到吗,如果可以是不是需要花高价购买昂贵的装备呢?在这里,小编偷偷告诉您(一般人我可是不会说的奥),润乾报表不仅可以做出这样自由炫酷的效果,而且报表工具价格实惠!(不信您可以到润乾官网去看奥。)

下面让我们以第一个图为例一起了解一下润乾报表是怎样做到的……

首先,准备数据:这里我们使用润乾报表的内建数据集,构建 3 个数据集,其中,ds1 是 XX 公司网点及下属架构的层级信息,ds2 是个网点和下属架构的考核指标,而 ds3 则是网点和下属架构对应名称,如下图:

数据集 ds1 数据 :

数据集 ds2 数据 :

数据集 ds3 数据 :

注:以上内建数据集字段类型均为字符串。

紧接着, 画表并填写单元格表达式,如下图所示:

其中

A4 单元格表达式为:=ds1.group(省; 省),显示值表达式为:ds3.select(name,id==value()),扩展 –> 同值合并为:纵向合并;

B4 单元格表达式为:=ds1.group(市; 市),显示值表达式为:ds3.select(name,id==value()),扩展 –> 同值合并为:纵向合并,空值合并为:向左合并;

C4 单元格表达式为:=ds1.group(区县; 区县),显示值表达式为:ds3.select(name,id==value()),扩展 –> 空值合并为:向左合并;

D4 单元格表达式为:=ds1.group(营业部; 营业部),显示值表达式为:ds3.select(name,id==value()),扩展 –> 空值合并为:向左合并;

E4 单元格表达式为 :=ds1.group(网点; 网点) ,显示值表达式为:ds3.select(name,id==value()),扩展 –> 空值合并为:向左合并;

F4 单元格表达式为 :=ds1.group(架构 1; 架构 1) ,显示值表达式为:ds3.select(name,id==value()),扩展 –> 空值合并为:向左合并;

G4 单元格表达式为 :=ds1.select(架构 2; 架构 2) ,显示值表达式为:ds3.select(name,id==value()) ,扩展 –> 空值合并为:向左合并;

H4 单元格表达式为 :[email protected](kpi1,id==G4) ,显示值表达式为:if(value()==null,0,value()) ,显示格式为:#0.00;

I4、J4、K4 单元格表达式为 :=ds2. 字段名称,显示值表达式为:if(value()==null,0,value()),显示格式为:#0.00 。

然后….. 一个完美的动态合并格报表就完成了。

回顾

回顾一下其中遇到的问题和解决的技巧:

1. 动态合并单元格

【技巧】使用同值合并 或者 空值合并用法

2. 单元格表达式实现多数据集关联

【技巧】使用数据集函数 ds.select()

3. 单元格显示值控制

【技巧】使用数据集函数 ds.select()以及非数据集函数 if() 和 value().

最后我们发现,其实这里仅仅使用了润乾报表的同值合并和空值合并,是不是一不小心,又双叒叕 get 了新技能?有木有觉得润乾的程序猿哥哥棒棒哒,想要私信一下, 那就别再犹豫了微信公众号搜索“raqsoft”加关注, 快来加入润乾大家庭吧,你的程序猿哥哥已经等你很久喽。

号外号外:报表制作过程中涉及到所有的函数都可从“用户手册—第 5 章 表达式及函数 ”中查阅详解奥,而同值合并和空值合并是在“用户手册—第 2.2.5 章 扩展”中奥,这个秘密小编只告诉你了奥。 作者:IBelieve 链接:http://c.raqsoft.com.cn/article/1533027452980?r=IBelieve 来源:乾学院 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/IBelieve002/p/9699009.html

时间: 2024-08-27 11:01:08

动态格报表的制作的相关文章

多数据源动态关联报表的制作(birt为例)

使用Jasper或BIRT等报表工具时,常会碰到一些很规的统计,用报表工具本身或SQL都难以处理,比方与主表相关的子表分布在多个数据库中,报表要展现这些数据源动态关联的结果.集算器具有结构化强计算引擎,集成简单,能够协助报表工具方便地实现此类需求.以下通过一个样例来说明多数据源动态关联的实现过程. 主表org在数据源Master中,org里每条记录相应的子表在不同的数据源中,比方org.org_id="ORG_S"时.这条记录相应的子表是数据源S_odaURL的User表,org.or

固定格式填报表的制作

在前面几篇文章中,我们学习了多种类型填报表的制作,对润乾报表的填报机制有了一定的了解.今天我们来研究一下如何制作固定格式填报表,同时检验下自己之前学习的内容是否已熟练掌握. 今天要学习的固定格式填报表效果图如下所示: 左侧为固定内容,蓝色部分是需要客户填写的内容,最后将整个页面数据更新到数据库表中. 这里的难点在于,如何把左侧固定内容也更新到数据库中,也就是如何设置单元格分区. 带着这个问题我们来看一下具体实现步骤: 第一步 新建填报表 编辑填报表内容和样式,如下图所示: 一般这类报表会对应一个

VB.Net之旅—报表的制作(RDLC)

我们在这里以机房收费系统周结账单为例,讲解一下VS2008报表的制作 新建一个窗体,从工具箱中拖一个MicrosoftReportViewer控件到窗体中,点击MicrosoftReportViewer右边的小三角,然后选择设计新报表 选择已有数据源或添加新数据源 我们在这里添加数据源 选择已有连接或新建连接 我们在这里新建连接,测试连接成功后,选择确定 之后单击下一步,选择数据库对象,单击完成 选择新添加的数据源,选择下一步 选种左边字段,点击详细信息,点击下一步 点击下一步,对报表重命名,点

用myEclipse连接数据源生成动态数据报表

连接数据库,通过数据库查询得到的数据生成动态的数据报表,首先需要用myEclipse连接到一个数据库,一般是在导航栏的右上方会有切换按钮,切换工作环境为 MyEclipse DataBase Explorer的工作环境,然后开发界面的左侧框会有 DB Drowser工作栏,右击工作栏内的MyEclipse Derby,New一个新的数据库连接,如下  然后测试连接成功后,将工作台切换到java ee开发模式,新建一个Report Web Project项目,一路点下一步到完成创建然后工作台切换成

动态函数库的制作和使用

>>>>>>接静态函数库的制作和使用>>http://www.cnblogs.com/hfxin2001-eric-daddy/p/5809010.html 2 动态函数库的制作和使用 动态函数库的制作步骤可以用下图来描述,具体包括 (1)  编写函数的.c文件(例如add.c.sub.c.mul.c和div.c) (2)  编写Makefile,然后make,实现函数的编译和归档入库 函数的编译:使用gcc –c add.c -fPIC只编译不链接函数.c

润乾报表实现动态数据源报表及改进

经常会遇到一些报表需要根据不同的情况(参数)连接不同的数据源从而完成相应的数据的展现,也就是经常说的动态数据源报表.报表工具通常的做法有两种,一是不同的情况加载不同的数据源连接参数,如:url.driver.username.password等:二是利用已配置的多个连接池,根据不同情况选择.这里通过一个实例,说明润乾报表的实现过程及改进方案. 报表说明 应用中需要通过参数控制报表连接的数据源,当参数flag为1时连接数据源一(db1),否则连接数据源二(db2). 润乾报表实现 首先根据flag

集算报表用Java动态修改报表数据源

实际应用中通过程序动态修改报表模板的情况很常见,其中动态修改数据源SQL就是一种典型场景.常见于系统中有一些结构相同而数据源不同的报表,为减少报表开发工作量,只开发一套报表模板,使用时通过程序动态修改数据源来满足实际需要. 下面通过一个使用JAVA程序修改集算报表数据源SQL的例子说明使用过程. 编辑报表模板: 由于不同数据源的字段不同,因此这里使用动态表达式ds1.fname()获取字段名,ds1.field()获取字段值.此外,第一行和第一列为辅助行列,设置其隐藏. 编写代码: 1.读入报表

【案例分享】使用ActiveReports报表工具,在.NET MVC模式下动态创建报表

提起报表,大家会觉得即熟悉又陌生,好像常常在工作中使用,又似乎无法准确描述报表.今天我们来一起了解一下什么是报表,报表的结构.构成元素,以及为什么需要报表. 什么是报表 简单的说:报表就是通过表格.图表等形式来动态显示数据,并为使用者提供浏览.打印.导出和分析的功能,可以用公式表示为: 报表 = 多样的布局 + 动态的数据 + 丰富的输出 报表通常包含以下组成部分: 报表首页:在报表的开始处,用来显示报表的标题.图形或说明性文字,每份报表只有一个报表首页. 页眉:用来显示报表中的字段名或对记录的

JEECG 动态在线报表

专题开发十三 JEECG微云快速开发平台-附录 - fswhwd的博客https://blog.csdn.net/fswhwd/article/details/84060872 jeecg ol在线开发手册v3.4.5 - jeecg team - jeecghttp://wiki.jeecg.org/pages/viewpage.action?pageId=1376515 JEECG官方网站 - 基于BPM的JAVA快速开发平台http://jeecg.com/#/ JEECG 3.7 说明