开发者社区> 润乾软件> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

动态格报表的制作

简介:
+关注继续查看

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

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

174_1
174_2

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

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

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

数据集ds1数据 :

174_3

数据集ds2数据 :

174_4

数据集ds3数据 :

174_5

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

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

174_6

其中
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 单元格表达式为 :ds2.select@1(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章 扩展”中奥,这个秘密小编只告诉你了奥。

转载请注明:润乾技术博客 » 动态格报表的制作

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
动态列报表的制作
在数据信息系统中,常常会看到这样一类报表需求,它们往往格式简单,一般为列表式明细报表,但是要显示的列很多。而不同终端用户在不同时刻关心的数据又不同,这样就要求报表能够让他们随心所欲的选择要显示的列,以便直观地查看数据。
1147 0
【云图】如何制作全国KTV查询系统?
原文:【云图】如何制作全国KTV查询系统? 摘要:本文以【唱吧】531麦霸音乐节为案例,详细解读了如何导入自有数据到高德云图,并进行检索和展示。最后,调起高德mobile地图来进行路线规划和周边查询。
1097 0
在Quick BI中如何制作带层次结构的动态地图仪表板
背景: 一家虚拟的公司,名字叫做乐佳办公用品电子商务有限公司,该公司的销售业务遍布全中国,为了实现数据化运营的目标,乐佳公司的销售部门需要准确、直观、全面地了解自己公司的销售业务状况。 销售部当前最迫切的一个需求就是: 在地图上,可以方便的查询到在过去几年的任意指定的月份区间内,公司在全国各大区域的销售订单金额和利润金额,点击区域可以下钻到省份,可以看到选定的月份区间以省份为粒度的销售订单金额和利润金额。
4067 0
随机图api制作
txt文件内填入图片URL地址(可以是本地图片URL,也可以是网络图片URL)
20 0
[剑指offer] 二进制中1的个数
本文首发于我的个人博客:尾尾部落 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解题思路 如果一个整数不为0,那么这个整数至少有一位是1。
793 0
选择排序动态示意【Scratch】
选择排序的算法很简单,一句话概括就是每次找到未排序部分(本例为右侧)最小的数,放到已排序序列(本例为左侧)的末尾。
33 0
+关注
85
文章
5
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载