动态格报表的制作
接触过很多客户,在没有数据系统以前,很多报表都是用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 单元格表达式为 :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章 扩展”中奥,这个秘密小编只告诉你了奥。
转载请注明:润乾技术博客 » 动态格报表的制作
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python类继承,父类和子类的构造函数初始化调用
# class Info(object): # def __init__(self,name,age,score): # self.Name = name # self.Age = age # self.Score = score # # # class Student(object): # def __init__(self,info): # self.Info = info # # # Home = "地球" # # __Sxt = "女" # # # # def GetSex(self): # # return Student.__Sxt # # # # def __init__(self,name,age,score,comp): # # self.Name = name # # self.Age = age # # self.Score = score # # self.__Comp = comp # # # # def GetComp(self): # # return self.__Comp # # # # def SetComp(self,comp): # # self...
- 下一篇
报表中的地图怎么做?
在地图上展现地域相关的数据,是在公共设施管理、交通、电信、城市建设、能源、电力、农业等国民经济相关的应用系统中是比较常见的直观图表形式。以前,如果在报表应用系统中需要显示地图相关的信息,开发人员可能会第一时间想到GIS(Geographic Information Software地理信息软件),但是GIS的体系较大,需要开发人员定义GIS中被执行的各种任务,开发相应的处理程序。 熟练的操作人员甚至还需要克服GIS软件功能的不足。事实上,如果只是想做个地图显示数据,完全不必要用这么大的牛刀哦! 现在echarts这个小鲸鱼做地图数据呈现可以帮助我们轻松做出地图数据呈现,而润乾报表则将echarts脚本集成到了设计器下,在根据类别选好要做的地图模板后,通过设置下几个参数,一个数据地图就轻松完成了。 我们先来看几个润乾内置的echarts地图效果吧! 怎么样,是不是很酷炫?下面我们再通过一个例子,看看如此酷炫的地图是不是还需要那么复杂步骤…… 1、数据准备 连接数据源,新建报表,增加数据集。不论数据集是采用哪种方式得到的,最终整理好后的数据都应该是下面的格式。哈哈,不用紧张,字段名可以不一...
相关文章
文章评论
共有0条评论来说两句吧...