动态列报表的制作

简介: 动态列报表

在数据信息系统中,常常会看到这样一类报表需求,它们往往格式简单,一般为列表式明细报表,但是要显示的列很多。而不同终端用户在不同时刻关心的数据又不同,这样就要求报表能够让他们随心所欲的选择要显示的列,以便直观地查看数据。最终效果如下图所示:
1

那怎么实现这种需求呢?

多做几个典型报表,根据用户不同进行不同的加载?这样报表开发工作量就增加了,连吃鸡的时间都没有了;

写个存储过程动态计算要显示的表字段?还需要调试存储过程。

有没有更简单高效的实现方法???——当然必须有,下面看我放大招。

工欲善其事,必先利其器。我们选择的利器就是:润乾报表,具体实现操作如下:

首先,在数据集上通过 sql 实现动态取数

根据需求效果,我们需要定义两个参数,用于接收要显示的表和字段信息:
2

对应数据集 sql 配置如下:
3

【技巧】${参数名} 为参数的高级用法,可以在报表中动态的进行表达式的替换,快速实现动态执行语句的拼接。

然后,在报表单元格表达式中实现动态显示字段
4

其中,

B1 单元格:=to(1,ds1.fcount()) 并设置扩展方式为横向扩展,用于计算需要显示的列数

B2 单元格:=ds1.fname(B1) 跟随 B1 扩展,用于动态显示列名称

A3 单元格:=ds1.select(#0) 根据数据集的行数进行纵向扩展

B3 单元格:=ds1.field(B1) 用于动态显示对应字段数据

A 列为协助实现效果列,故需要选择该列,设置该列隐藏。

最后,我们制作一下参数模板,方便用户选择自己想要显示的表和列数据
5

设置 B2 和 D2 编辑风格为下拉数据集(数据集为提前准备好的内建数据集),并在 D2 设置关联过滤,便于用户了解对应表下有哪些字段供选择,进行数据分析。
6

好了,一个完美的动态列报表就完成了,我们来回顾一下其中遇到的问题和解决的技巧:

  1. 数据集 sql 实现动态取数

【技巧】使用参数的 ${参数名} 用法

  1. 单元格表达式实现动态显示字段

【技巧】使用数据集函数 ds.field()和 ds.fieldname()

至此,动态列报表制作就完成了,我们仅仅使用了润乾报表的参数特殊用法和数据集函数就做好了动态列报表,这一波操作 6 不 6?快来加入润乾大家庭,更多快速简便的报表制作方式等你来挖掘。

作者:xiaohuihui
链接:http://c.raqsoft.com.cn/article/1533088998061?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
存储 编译器 C语言
C++11新特性(语法糖,新容器)
C++11新特性(语法糖,新容器)
220 0
|
4月前
|
监控 搜索推荐 Java
Java 多线程最新实操技术与应用场景全解析:从基础到进阶
本文深入探讨了Java多线程的现代并发编程技术,涵盖Java 8+新特性,如CompletableFuture异步处理、Stream并行流操作,以及Reactive编程中的Reactor框架。通过具体代码示例,讲解了异步任务组合、并行流优化及响应式编程的核心概念(Flux与Mono)。同时对比了同步、CompletableFuture和Reactor三种实现方式的性能,并总结了最佳实践,帮助开发者构建高效、扩展性强的应用。资源地址:[点击下载](https://pan.quark.cn/s/14fcf913bae6)。
265 3
|
6月前
|
人工智能 安全 数据安全/隐私保护
本地部署DeepSeek教程:一键远程访问,还能解决Ollama安全隐患
本教程详细介绍如何使用Ollama+Open WebUI本地部署DeepSeek模型,并借助贝锐花生壳内网穿透实现安全远程访问。首先,安装Ollama并下载DeepSeek模型,根据显存选择合适参数(如4G选1.5B)。接着,通过Docker部署Open WebUI以获得图形化交互界面。最后,利用贝锐花生壳简单三步完成远程访问设置,支持HTTPS加密传输,保障数据安全。整个过程无需云服务器,轻松打造专属AI助手。
713 5
|
10月前
|
人工智能 数据可视化 关系型数据库
快速构建,JeeLowCode让你的应用开发速度飞起来#快速开发
低代码平台通过直观的图形化界面和模块化设计,大幅缩短开发周期、降低成本,使企业无需大量技术人员即可快速构建应用。其可视化开发、高效数据处理、模型驱动开发及AI智能助力等功能,帮助企业快速应对市场变化,保持竞争力。平台支持多种数据库,内置协作机制和丰富的插件生态,进一步提升开发效率和应用质量,推动数字化转型。演示地址:http://demo.jeelowcode.com/ 官网地址:http://www.jeelowcode.com
|
网络协议 安全 API
家用路由器DNS被恶意篡改?教你如何应对
近期大量用户反馈家用路由器出现解析失效,怀疑部分家用路由器的DNS配置遭遇了非正常变动。我们建议家用路由器用户将本地DNS改成更安全可靠的服务器,如阿里云公共DNS;企业APP终端用户使用公共DNS企业版服务。
|
Java 编译器 开发者
Java演进问题之AOT编译在Java中实现起来困难如何解决
Java演进问题之AOT编译在Java中实现起来困难如何解决
271 0
|
缓存 前端开发
动态样式去哪儿了?
动态样式去哪儿了?
129 6
|
编解码 异构计算
通过damo-YOLO训练1500*1500图片的建议:
通过damo-YOLO训练1500*1500图片的建议:
|
Dubbo 关系型数据库 MySQL
nacos常见问题之配置环境变量
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1402 6
|
机器学习/深度学习 存储 算法
【MATLAB第31期】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理回归问题MATLAB代码实现(持续更新)
【MATLAB第31期】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理回归问题MATLAB代码实现(持续更新)