4.3.1 参数

在大多数情下,我们设置数据集时不需要把数据库中的数据全部呈现,而是需要根据一些参数去动态地过滤出我们所需要的数据;因此,我们需要了解如何在数据集的SQL查询语句中定义参数和为报表配置查询条件控件。

1.定义参数

新建数据集ds1,在数据库查询中对话框中写入SQL查询语句:select * from transcript where 学期 = '${学期}' 然后点击 '保存' 或者 '预览' 按钮,会弹出参数窗口,让用户能够设置参数的默认值,作为报表制作过程的临时参数组。

注:在数据集 SQL 语句中,使用 ${f1} 做为一个参数宏,其中变量f1为参数名,若字段值为字符串则加上引号如'${f1}'。</span>

image-20200115154451838

image-20200115154326243

数据预览结果如下:

image-20200115162142583

2.使用条件语句构建不同的SQL查询语句

当用户设置了参数,查询语句就会按照已设置的参数进行数据过滤,但是往往会存在一些情况,用户希望不传递参数值时SQL语句不进行数据过滤,这时候就需要用到了条件语句。

我们调整SQL入下图,并在参数弹窗中删除参数值:

image-20200115161552298

image-20200115161837856

数据预览结果如下:

image-20200115161927844

可以看出,加入了条件语句后,当传入的参数为空或者为空字符串时,执行的SQL不会进行数据过滤,这是因为参数为空,实际执行的SQL语句为select * from transcript

条件语句格式如下:

[#if condition1 ]

.....

[#elseif condition2 ]

....

[#else]

...

[#/if]

elseifelse 是可选的。

results matching ""

    No results matching ""