找回密码
 立即注册

QQ登录

只需一步,快速开始

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2020-10-29 20:12  /   查看:5972  /  回复:4
本帖最后由 Bella.Yuan 于 2023-8-9 14:17 编辑

在报表设计中,经常会遇到一种场景,设计了报表之后,添加了单值下拉参数,当用户不选择,也就是在默认查看报表的时候希望展示全部的数据,用户选择了参数后,再进行展示根据参数过滤的数据,如下图所示:
1.gif

本贴介绍如何在报表中实现单值下拉参数实现默认展示全部数据。
image.png166318968.png image.png875373840.png
重点:实现该功能有两种方式,一:利用报表中组件的过滤能力,通过表达式来实现该需求。
二:利用报表动态SQL的能力来实现该需求。
具体实现步骤:
一、利用报表组件的过滤能力来实现。
1.创建报表,添加数据集
image.png128613890.png
2.选择表格组件,绑定数据字段
image.png504365539.png
3.添加报表参数,并绑定参数的可用数据。
添加报表参数,并且添加一个报表参数下拉值的可用数据的数据集
image.png168131713.png
然后将下拉可用数据绑定上对应的数据集,然后选择参数为可忽略,这样在预览时参数为空值。
image.png165291747.png
预览即可看到报表参数为空值
image.png68823546.png
4.选中表格组件,属性设置添加数据过滤。
选中表格组件,属性设置添加数据过滤
image.png629777221.png
编辑过滤属性,添加过滤条件,选择数据集字段跟参数的过滤判断条件
当参数值为空时,条件为数据字段等于数据字段,参数值不为空时,数据字段等于参数值。
image.png525514220.png
这样预览默认可以显示全部数据,选择参数后显示参数过滤之后的数据。
image.png51995238.png
image.png452792968.png
二、利用报表动态sql实现
动态sql:select * from 销售明细  {IIF(IsNothing(@大区), "", "where 销售大区=@大区")}
动态sql中通过表达式来动态生成不同的sql语句,然后加载对应的数据集数据。
image.png466358336.png
这样在报表预览的时候会根据参数值动态去加载不同的数据。
image.png409891356.png
image.png971600341.png

wyn-export-20230809141649.zip

390.42 KB, 下载次数: 754

4 个回复

倒序浏览
tisking悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-25 15:31:32
沙发
大佬第一种我成功了;第二种方式我怎么改都报错,这是什么情况啊?报错如下图所示:
image.png284389037.png

回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-6-25 16:45:00
板凳
tisking 发表于 2021-6-25 15:31
大佬第一种我成功了;第二种方式我怎么改都报错,这是什么情况啊?报错如下图所示:

检查一下写法,看写法写对着吗?
回复 使用道具 举报
zshun8023
注册会员   /  发表于:2023-3-15 14:50:25
地板
多值参数支持吗
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-3-15 18:26:17
6#

您好,看您发了类似的帖子,我们在您的帖子上交流~
6.0 报表-单值或多值参数为空的场景
https://gcdn.grapecity.com.cn/fo ... 9&fromuid=65049
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部