ActiveReports 报表应用教程 (3)---图表报表

系统 1579 0
原文: ActiveReports 报表应用教程 (3)---图表报表

ActiveReports 的图表控件支持绝大多数常用的二维和三维图表类型,包括XY图表和财务图表。通过使用图表控件的定制功能,如修改坐标轴、图注、图例等,用户可以创建任何其所需要的图表效果。用户还可以通过代码把定义好的图表输出为多种图像格式。 本文将演示如何在 ActivReports 中实现图文混淆报表。

我们将要实现的是2011年度各类产品销量统计报表,其中图表按照产品类别统计销量,表格按照类别和月份统计销售量。

 

1、创建报表文件

在 ASP.ENT 应用程序中添加一个名为 rptSalesByCategory.rdlx 的页面报表(PageReport)文件,使用的报表模板为“ActiveReports 7 页面报表”,创建完成之后通过 VS 的以下菜单完成报表转换操作:

ActiveReports 报表功能展示 添加页面报表

 

2、为 rptSalesByCategory 报表添加数据源

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

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 = 类别.类别ID


    
      
        WHERE
      
       DATEDIFF("yyyy",订单.订购日期,'2011-01-01') = 0


    
      
        GROUP
      
      
        BY
      
       类别.类别ID, 类别.类别名称


    
      
        ORDER
      
      
        BY
      
       类别.类别ID, 类别.类别名称 ) 
      
        as
      
       t


    
      
        INNER
      
      
        JOIN
      
       类别 
      
        ON
      
       t.类别ID = 类别.类别ID
    

2.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 = 类别.类别ID


    
      
        WHERE
      
       DATEDIFF("yyyy",订单.订购日期,'2011-01-01') = 0


    
      
        GROUP
      
      
        BY
      
       DATEPART("m",订单.订购日期),类别.类别ID, 类别.类别名称


    
      
        ORDER
      
      
        BY
      
       DATEPART("m",订单.订购日期),类别.类别ID, 类别.类别名称 ) 
      
        as
      
       t


    
      
        INNER
      
      
        JOIN
      
       类别 
      
        ON
      
       t.类别ID = 类别.类别ID
    
       
    

3、创建图表对象

从 VS 工具箱中将 Chart 控件添加到报表设计界面,选中 Chart 后在属性窗口中的命令区域会显示 Chart 相关的操作命令,我们点击【图表数据…】命链接,此时会显示图表数据对话框,按照以下截图完成 Chart 的设置:

3.1 图表数据-常规设置

名称:
Chart1

工具提示:
2011年度各类产品销售量统计表

数据集名称:
Sales

ActiveReports 报表功能展示 图表数据属性设置对话框

3.2、图表数据-系列值

系列标签:
销售量

值:
=Sum([销售量])

ActiveReports 报表功能展示 图表数据属性设置对话框

3.3、图表数据-类别分组

分组-表达式:
=[类别名称]

标签:
=[类别名称]

ActiveReports 报表功能展示 图表数据属性设置对话框

 

4、创建数据明细表

我们将使用矩阵控件 Matrix 来显示每月,每类产品的销售量,从 VS 工具箱中将矩阵控件 Matrix 添加到报表设计界面,并选择矩阵控件,此时在属性窗口中的命令区域会显示【属性对话框…】命令链接,点击该链接。

4.1、矩阵-常规设置

数据集名称:
SaleDetails

ActiveReports 报表功能展示 明细报表

4.2、矩阵-行分组

常规-分组-表达式:
=[订购月]

排序-表达式:
=[订购月]

ActiveReports 报表功能展示 矩阵控件属性设置对话框

4.3、矩阵-列分组

常规-分组-表达式:
=[类别名称]

ActiveReports 报表功能展示 矩阵控件属性设置对话框

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

ActiveReports 报表功能展示

 

5、运行程序

ActiveReports 报表功能展示 图表报表

 

源码下载地址: http://www.gcpowertools.com.cn/products/activereports_demo.htm

ActiveReports 报表应用教程 (3)---图表报表


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论