Web报表系统葡萄城报表:数据钻取

什么是数据钻取?

数据钻取是指通点击指向其它报表的链接来跳转到该报表。在现代商业智能报表中,对交互式报表的需求越来越强烈,数据钻取就是交互式报表中最为常用功能之一。

为什么需要数据钻取?

常见的普通报表中数据关系繁杂,常常一整套报表中,包含有多张主从报表,此时多张报表之间的关系难以表示,报表的数据钻取功能很好的应对了这样的需求。使用数据钻取功能,能够简单的从主报表钻取到从报表中,不但方便了数据查看,而且帮助报表查阅者理清了报表之间的关系。

如何使用葡萄城报表实现数据钻取功能?

假设我们现在的整个组织结构如下图所示: 数据钻取-葡萄城报表

从以上数据来看,整个数据结构分为【部门】、【子部门】和【员工】,接下来我们将使用葡萄城报表实现以上数据所对应的钻取报表。

首先,我们创建显示部门信息的报表“Department.rdlx”,并要进行以下几步操作:

1、添加一个名为 ParentID ,默认值为 –1 的参数

2、添加数据源,对应的查询语句为:select * from department where ParentID= ?;

3、添加数据源参数,名为 Parameter1 , 对应的值为 “=[@ParentID]”

4、在部门ID数据文本框中增加数据钻取链接,并设置如图中的钻取参数

数据钻取-葡萄城报表

通过以上操作,我们就完成了从上级部门钻取到下级部门的全部操作,接下来我们将实现从子部门钻取到员工信息的操作。

创建名为 Employee.rdlx 的员工信息报表,并举行以下操作:

1、添加名为 ParentID 的报表参数

2、添加数据源参数,名为 Parameter1 ,值为“=[@ParentID]”

3、添加数据源查询语句 select * from Employee where DepartmentID = ?;

接下来我们要在部门报表中添加钻取到员工信息报表的钻取链接,我们选用的钻取链接控件还是“部门ID”文本框,但是,现在就遇到一个问题,部门ID文本框可能会根据数据钻取到子部门,如果没有子部门就钻取到员工信息报表,为了实现按条件钻取功能,我们在部门ID是在的位置再放置一个文本框,该文本框对应的钻取设置如下图所示:

数据钻取-葡萄城报表

接下来最重要的一步操作,我们需要根据数据源来显示以上两个完全重叠的文本框,设置如下

1、设置钻取到员工信息的文本框的 Visibility.Hidden 为 “=IIF( [HasSub] = 0,false,true)”

2、设置钻取到子部门信息的文本框的 Visibility.Hidden 为 “=IIF( [HasSub] = 0,false,true)”

最终运行结果如下图:

数据钻取-葡萄城报表

转载请注明出自:葡萄城报表 
http://www.grapecity.com.cn/enterprise-solutions/activereports_server/

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页