润乾报表数据集中参数和宏的使用方法

来源:互联网 发布:nginx 1.8.0 漏洞 编辑:程序博客网 时间:2024/05/01 16:53


下面我们来看一下如何在数据集中加入参数使得报表变得更加灵活。

第一步:单击主菜单中的【配置】->【参数】。

 

弹出参数编辑窗体,如下图所示:

 

第二步:点击【增加】按钮,新增一个参数,默认名称为“arg1”,名称可根据自己的需要来命名。

这里我们把【名称】和【描述】分别改成“name”员工姓名,【数据类型】我们选择默认的字符串。如下图所示:

同样的方法增加一个奖金参数,【数据类型】设置为数值型

同样的方法增加一个出生日期参数,【数据类型】设置为日期型

同样的方法增加一个性别参数,【数据类型】设置为字符串 

【数据集】,弹出【数据集设置】窗体,如下图所示:à第三步:单击主菜单中的【配置】

 

选择ds1,点击【编辑】按钮,弹出SQL编辑器,可以在此对ds1数据集进行修改。

 

选择【检索条件】标签页,设置检索条件(EMPLOYEE.EMPNAME like ? and EMPLOYEE.BONUS >? and EMPLOYEE.BIRTHDAY >? and EMPLOYEE.SEX =?),如图所示:

 

选择【参数】标签页,点击【增加】按钮,增加四个参数与检索条件中的“?”匹配。

 

点击【确定】按钮,完成参数的设置。

第四步:在设计器中预览报表,点按钮,会弹出设置报表参数窗口,录入相关信息,如图所示:

 

点击【确定】按钮查询出姓名中包含字、奖金高于200、出生日期大于“1960-01-01”且性别为的员工信息,(注:性别在数据库中是以编码的形式存储的,“1”代表男,“2”代表女)。查询结果如下图所示: 

 

第五步:此时的报表已经可以实现根据参数的不同而查询出不同的内容了,可是很多时候用户往往希望参数值不录的时候选出所有记录,接下来我们来对报表做一点修改,来实现这一功能。

点击主菜单中的【配置】->【数据集】,弹出数据集设置窗体,选择ds1,点【编辑】按钮,弹出SQL编辑器,将【检索条件】修改为:(EMPLOYEE.EMPNAME like ? or ? is null) and (EMPLOYEE.BONUS>? or ? is null) and (EMPLOYEE.BIRTHDAY >? or ? is null) and (EMPLOYEE.SEX =? or ? is null)。如图所示:

 

然后在【参数】标签页中按照问号顺序,写入参数名或含参数的表达式,如下图所示:

 

此时预览报表,不录入任何参数即可查询出所有记录。

接下来,我们来看这样一种情况:

在这里表中数据有空的情况存在,如果我们想抓取不为空的记录,自然而然,我们就想到了在sqlwhere条件中加入参数来过滤。

我们来看一下设置的sql


参数为表中的字段名,也就是说,替换后的sql表示抓取某个字段不为空的记录:


这时我们浏览数据会发现:


奇怪,为什么为空的记录也被抓取出来了呢?

原始是这样的,当一个字符串判断“not null”时,返回的永远是true,所以这种sql语句不能用参数。

那要怎么解决呢?这就要用到宏了。

宏的使用总体上来说和参数没有太大的区别,我们来设置一个宏:


把宏添加到sql语句中:


这时我们再浏览时:


有很多时候参数和宏是可以并用的,而且在一些参数无法达到效果的时候,宏往往能轻而易举的解决。

关于参数和宏的更多用法,可以参考润乾设计器帮助文档中的相关介绍。

0 0
原创粉丝点击