参数查询 >> 典型参数应用 >> 动态列 >> 使用函数实现动态列

使用函数实现动态列

顶( )
最后更新日期: 人发表评论 (点击查看)
数据列的动态显示、使用数据集函数实现动态列、ds1.value()、ds1.select(#0)
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当中所获取的行号进行排列。
3.4 参数界面设置
点击参数界面编辑触笔,切换到参数界面的可编辑状态,使用默认的参数界面,点击设置按钮,勾选显示参数窗体。
设置col参数的控件类型为下拉复选框,点击数据字典,选择形态为公式,在实际值处使用公式=TABLEDATAFIELDS("ds1"),即取ds1所有的列名为下拉复选框的值,如下图进行定义:
3.5 效果查看
点击分页预览,当选择对应的一些数据列,点击查询就展示对应选择列的数据,如下图所示:在线查看模板效果请点击DynamicCol.cpt
已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\DynamicCol\DynamicCol.cpt
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3