通过参数进行数据筛选时,有些情况下用户希望当不选择参数值、或选择“全部”、“所有”这样的参数值时返回所有数据。基于这样的需求,对SQL数据集和存储过程数据集有不同的实现方式,具体操作参考如下示例。
该示例实现步骤如下:
1、创建参数。创建过程参考“演示下拉框参数控件”示例。
2、在可视化数据集、SQL数据集中,使用{[]}的方式编写表达式。表达式{[字段运算符参数]}是一种特殊的用法,通过这样的设置,参数下拉选项中会自动增加一个“空行”,当选择空行时忽略该参数,返回所有数据。设置方式如下:
3、预览数据,查看参数效果,如下图:
注:此种方式不支持页面参数。当报表中使用了这种方式,并且将参数设置为页面的公共参数时,这个设置会失效。如果是页面的公共参数,请参考下面的方式。
该示例实现步骤如下:
1、创建参数。注意参数的备选值需要增加all选项。参数设置如下:
2、在可视化数据集、SQL数据集中设置过滤表达式。过滤条件通过“字段=参数or参数=‘all’”的方式设置。这样当选择参数的某个具体值时,“字段=参数”的过滤条件生效,当选择全部时“参数=’all’”的过滤条件生效。
3、使用该数据集创建的报表,展示效果如下:
该示例实现步骤如下:
1、创建参数。参数创建过程参考“演示下拉框参数控件”示例。注意参数设置第二步中,勾选“允许为空(存储过程数据集)”选项。
2、新建存储过程数据集,拖拉输出字段,并绑定存储过程的输入参数到上一步创建的参数上。
3、基于该存储过程创建报表,展示效果如下: