我们将要实现的是2011年度各类产品销量统计 表,其中图表按照产品类别统计销量,表格按照类别和月份统计销售量。
1、创建 表文件
在 ASP.ENT 应用程序中添加一个名为 rptSalesByCategory.rdlx 的页面 表文件,使用的 表模板为“ActiveReports RDL 表”。

2、为 rptSalesByCategory 表添加数据源
通过 VS2010 “菜单” –> “其他窗口” –> “ 表资源管理器 ” 打开 ActiveReports 表资源管理器,在数据源节点上鼠标右键,并选择“添加数据源”。在出现的 表数据源对话框中,输入下图所示的信息:

2.1、在新创建的 NWind_CHS 数据源节点上鼠标右键,并选择添加数据集,在出现的数据集对话框中输入一下信息:
常规选项卡 –> 名称:Sales
查询选项卡 –> 查询:
SELECT 类别.类别名称,t.* FROM (SELECT 类别.类别ID,SUM(订单明细.数量) AS 销售量 FROM (( 订单INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)INNER JOIN 类别 ON 产品.类别ID = 类别.类别IDWHERE DATEDIFF("yyyy",订单.订购日期,'2011-01-01') = 0GROUP BY 类别.类别ID, 类别.类别名称ORDER BY 类别.类别ID, 类别.类别名称 ) as tINNER JOIN 类别 ON t.类别ID = 类别.类别ID2.2、在 NWind_CHS 数据源节点上鼠标右键,并选择添加数据集,在出现的数据集对话框中输入一下信息:
常规选项卡 –> 名称:SaleDetails
查询选项卡 –> 查询:
SELECT 类别.类别名称,t.* FROM (SELECT DATEPART("m",订单.订购日期) AS 订购月,类别.类别ID,SUM(订单明细.数量) AS 销售量 FROM (( 订单INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)INNER JOIN 类别 ON 产品.类别ID = 类别.类别IDWHERE DATEDIFF("yyyy",订单.订购日期,'2011-01-01') = 0GROUP BY DATEPART("m",订单.订购日期),类别.类别ID, 类别.类别名称ORDER BY DATEPART("m",订单.订购日期),类别.类别ID, 类别.类别名称 ) as tINNER JOIN 类别 ON t.类别ID = 类别.类别ID3、创建图表对象
从 VS 工具箱中将 Chart 控件添加到 表设计界面,选中 Chart 后在属性窗口中的命令区域会显示 Chart 相关的操作命令,我们点击【图表数据…】命链接,此时会显示图表数据对话框,按照以下截图完成 Chart 的设置:
3.1 图表数据-常规设置
名称: | Chart1 |
工具提示: | 2011年度各类产品销售量统计表 |
数据集名称: | Sales |

3.2、图表数据-系列值
系列标签: | 销售量 |
值: | =Sum([销售量]) |

3.3、图表数据-类别分组
分组-表达式: | =[类别名称] |
标签: | =[类别名称] |

4、创建数据明细表
我们将使用矩阵控件 Matrix 来显示每月,每类产品的销售量,从 VS 工具箱中将矩阵控件 Matrix 添加到 表设计界面,并选择矩阵控件,此时在属性窗口中的命令区域会显示【属性对话框…】命令链接,点击该链接。
4.1、矩阵-常规设置
数据集名称: | SaleDetails |

4.2、矩阵-行分组
常规-分组-表达式: | =[订购月] |
排序-表达式: | =[订购月] |

4.3、矩阵-列分组
常规-分组-表达式: | =[类别名称] |

4.4、我们得到的最终设计效果和运行效果如下图所示:

5、运行程序

今天的内容就到这了,不要忘了在评论区留下的意见和建议!现电子表格控件ActiveReports正版授权限时优惠!低至3490;企业版最高立减上万元。点击了解更多优惠!
如果你对我们的产品感兴趣或者有任何疑问,欢迎咨询在线客服>>
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!