交互式报表的具体实现

发布时间:2017/08/11 16:08 发布者:葡萄城

返回博客中心

交互式报表是一种为实现智能化的业务分析的报表解决方案,使静态的报表尽可能动态化,即报表数据动态化和报表形式动态化,从而提升报表的实际使用价值。

传统报表是以一种相对静态的数据表现形式,辅助决策服务的。主要以显示、打印及导出数据功能为主。现代商业智能更需要智能的展现和分析数据,传统的报表并不能适应商业智能的需求。

交互式报表是一种为实现智能化的业务分析的报表解决方案,使静态的报表尽可能动态化,即报表数据动态化和报表形式动态化,从而提升报表的实际使用价值。根据用户的分析角度和数据选择的不同而出现不同的报表展现形式。

交互式报表为用户提供交互功能,用户可以在运行报表之前输入或选择值,从而决定报表数据和形式。用户使用交互式报表不仅可以显示或隐藏报表中的内容,也可以通过点击其中的链接访问其他报表或对象。交互式报表是动态的,用户也可以按照自身的需求动态定义数据呈现。简而言之交互式报表是在静态报表上添加用户可操作的功能,使报表变得可交互。

使用交互式报表的好处

  • 智能 — 交互式报表让用户随时可改变报表条件,从而改变报表呈现的数据内容。不再以静态形式展示,通过在静态的报表中增加用户操作如动态排序、过滤,钻取等操作,使报表变得可交互。让报表变得可交互是为解决最终用户分析数据的需求,交互式报表能够为商业智能提供所需的智能分析数据的功能,用户可以主动控制数据的呈现,让报表更生动更智能。
  • 灵活性 — 在用户对数据集不了解时,可根据数据源动态加载报表,而不是采用固定的报表形式,可灵活适应不同结构的数据源。
  • 动态性 — 用户可进行个性化调整的,不同的用户可自行配置需要的报表运行方式。
  • 提高效率 — 有选择的查看数据,报表加载数据时会根据用户需求加载数据,节省加载时间,仅显示用户关心的数据,帮助用户快速决策,提高用户工作效率。
本文演示使用葡萄城报表工具创建交互式图表。图表和钻取分析相结合,一级报表通过条状图显示各类产品的销售数据,点击图表可以查看该类产品的全部订单明细,以此实现数据之间的钻取分析功能。

操作步骤

1. 新建RDL报表

葡萄城报表

2. 添加数据源

葡萄城报表

3. 新建数据集

Select 类别.类别名称,t.* from (
SELECT 类别.类别ID,SUM(订单明细.数量) AS 销售量 FROM (( 订单
INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)
INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)
INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID
WHERE strftime(‘%Y’,订单.订购日期) =’2011’GROUP BY 类别.类别ID, 类别.类别名称) as t
inner join 类别 on t.类别ID = 类别.类别ID

4. 设计DashBoard报表模板,添加图表

葡萄城报表
然后选中Chart之后从属性窗口中的命令链接区域点击【图表数据】命令,并设置以下属性:

4.1【图表-常规】选项设置
葡萄城报表

4.2 【图表-系列值】选项设置
葡萄城报表

4.3 设置系列样式
葡萄城报表

4.4 设置系列值
葡萄城报表
要为图表增加交互功能,最关键的是设置系列值的操作属性,要为销售订单明细报表还没有创建好,我们先保留这一步操作,等创建好订单明细报表之后再设置【操作】属性。

4.5 设置【图表-类别分组】:
葡萄城报表
以上就是图表的全部选项设置,得到以下结果: 葡萄城报表

5. 创建订单明细报表


添加一个名为 rptOrderDetailsForSub.rdlx 的RDL报表,并按照以下设置相关属性

5.1 打开报表设计界面

5.2 在报表资源管理器的参数节点中添加以下两个参数,用于实现主报表和明细报表之间的数据传递,因为我们需要显示一类产品的全部订单,所以我们需要传递产品类型编号
名称:CategoryID、数据类型:Integer、隐藏:选中
名称:CategoryName、数据类型:Integer、隐藏:选中
葡萄城报表

5.3 添加报表数据集
常规-名称:OrderDetails
为数据集添加参数是为了,接受主报表传递的产品类型编号,然后作为SQL查询语句的参数值
参数-名称:Param、值:=[@CategoryID]
葡萄城报表
在设置好数据集的参数之后,我们需要提供数据源的查询SQL语句:
select 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣 from (( 订单
inner join 订单明细 on 订单.订单ID = 订单明细.订单ID )
inner join 产品 on 订单明细.产品ID = 产品.产品ID )
where 产品.类别ID = ?
ORDER BY 订单.订单ID;

5.4 设计报表界面
在报表设计界面添加Table,并设置相应的列数据字段信息,参考下图
葡萄城报表

6. 建立主报表和明细报表之间的参数关系

再次打开主报表,选中Chart控件,在属性窗口的【图表数据】命令链接,切换到【系列值-操作】页面,设置以下属性,以建立主报表和明细报表之间的关系
葡萄城报表

7. 运行效果

葡萄城报表

转载请注明出自:葡萄城报表

关于葡萄城报表

葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

千万种报表,同一种选择!获知葡萄城报表更多详情,请访问如下网站:
了解报表开发控件:/developer/activereports
了解报表服务器:/solutions/reporting

关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网