使用函数实现动态列

博客介绍了使用帆软实现动态列报表的方法,适用于数据列多、数据量不大的情况。先定义下拉复选框类型参数,其值为数据表所有列,再通过split等函数实现。以销量表为例,详细说明了数据集定义、报表参数设置、表样设计、参数界面设置等步骤,并展示了效果预览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1. 描述

 

此方法实现动态列报表适用于数据列比较多,数据量不是很大的情况。

2. 思路

首先定义一个参数,参数类型为下拉复选框类型编辑器,参数的值为数据表中的所有列;然后通过split函数数据集函数来实现。

3. 示例

下面我们以销量表为例,来实现动态列的效果。

3.1 定义数据集

新建工作簿,增加数据集ds1,SQL语句为:SELECT * FROM 销量。

3.2 报表参数设置

点击模板>模板参数,增加一个参数名为col的参数,默认值为空。

3.3 表样设计

按照下图所示设置表样:

注:=split($col,","),$col表示参数名称,这个公式的意义是分割参数组成的字符串数组,将参数分割为多个值。

=ds1.select(#0),该公式的意义是取ds1数据源当中的所有行号,返回的结果为1,2,3……。 

=ds1.value(a3, b2),该公式的意思是获取B2单元格所指定的列的列内容,其返回记录的排列顺序是按照A3当中所获取的行号进行排列。

B2单元格设置横向扩展!

3.4 参数界面设置

点击参数界面编辑触笔,切换到参数界面的可编辑状态,使用默认的参数界面,勾选右侧显示参数窗体选项。

1)控件编辑风格设置

设置col参数的控件类型为下拉复选框,点击数据字典,选择类型为公式,在实际值处使用公式=TABLEDATAFIELDS("ds1"),即取ds1所有的列名为下拉复选框的值,如下图进行定义:

4. 效果预览

点击分页预览,当选择对应的一些数据列,点击查询就展示对应选择列的数据,如下图所示:

5. 已完成模板

在线查看模板效果请点击DynamicCol.cpt

已完成的模板,可参见%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\DynamicCol\函数实现动态列cpt。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值