历史版本1 :动态数据表和动态条件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

1. 概述编辑

在数据集查询中,数据表,数据列以及条件都可以是动态的,下面我们来介绍动态数据表和动态条件,动态数据列实现方式有两种,下面有章节专门介绍。

2. 动态数据表编辑

若数据库中存在两张表结构相同,只是数据量不同,如何实现不同的人根据需要选择不同的表进行查看,从而提高查询效率呢?
2.1 实现思路
在定义数据集时,通过if函数来判断参数的值从而来实现调用不同的数据表,如直接将SQL语句定义成:SELECT * FROM ${if(aa=1,'订单','订单1')},即若参数aa=1时,查询的是订单表,若aa!=1时,查询的是订单1表。

3. 动态条件编辑

若您对表中的数据进行过滤时,查询条件是不确定的,有时候想用A列进行过滤,有时候想用B列进行过滤,此时要如何实现呢?
3.1 实现思路
在定义数据集时,将条件定义为参数,如SQL语句定义成:SELECT * FROM TableName ${Condition}
3.2 示例
  • 打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\DynamicSQL\DynamicSQL.cpt
  • 修改数据集
将数据集修改为:SELECT * FROM 订单 ${Condition}
  • 修改参数界面
将参数界面的控件名称修改为Condition即可。
  • 效果查看
保存模板点击分页预览,输入动态的查询条件如:where 货主地区='西南',便可以获取货主地区为西南的数据了,效果如下图:
在线查看模板效果请点击DynamicSQL1.cpt

已完成模板,可参考:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\DynamicSQL\DynamicSQL1.cpt