页面树结构
转至元数据结尾
转至元数据起始

通过参数进行数据筛选时,有些情况下用户希望当不选择参数值、或选择“全部”、“所有”这样的参数值时返回所有数据。基于这样的需求,对SQL数据集和存储过程数据集有不同的实现方式,具体操作参考如下示例。

示例1:SQL数据集_数据集条件使用{[]}方式

该示例实现步骤如下:

1、创建参数。创建过程参考“演示下拉框参数控件”示例。

2、在可视化数据集、SQL数据集中,使用{[]}的方式编写表达式。表达式{[字段运算符参数]}是一种特殊的用法,通过这样的设置,参数下拉选项中会自动增加一个“空行”,当选择空行时忽略该参数,返回所有数据。设置方式如下:

3、预览数据,查看参数效果,如下图:

此种方式不支持页面参数。当报表中使用了这种方式,并且将参数设置为页面的公共参数时,这个设置会失效。如果是页面的公共参数,请参考下面的方式。


示例2:SQL数据集_参数定义中增加全部方式

该示例实现步骤如下:

1、创建参数。注意参数的备选值需要增加all选项。参数设置如下:

2、在可视化数据集、SQL数据集中设置过滤表达式。过滤条件通过“字段=参数or参数=‘all’”的方式设置。这样当选择参数的某个具体值时,“字段=参数”的过滤条件生效,当选择全部时“参数=’all’”的过滤条件生效。

3、使用该数据集创建的报表,展示效果如下:

示例3:存储过程数据集_参数允许为空方式

该示例实现步骤如下:

1、创建参数。参数创建过程参考“演示下拉框参数控件”示例。注意参数设置第二步中,勾选“允许为空(存储过程数据集或填报属性)”选项。

2、新建存储过程数据集,拖拉输出字段,并绑定存储过程的输入参数到上一步创建的参数上。

3、基于该存储过程创建报表,选择“全部”展示效果如下:

选择其他不为空的,如选择“1”,展示效果如下:

当以存储过程数据集创建报表时,参数为空显示为“全部”,即选择“全部”,报表不展示任何数据。