多语言展示
当前在线:1802今日阅读:19今日分享:20

如何在报表中实现数据预警

本文介绍了如何在ActiveReports报表中添加数据预警功能。
工具/原料
1

报表工具:ActiveReports

2

安装包大小:45.8M;适用平台:Windows

方法/步骤
1

创建RDL报表和数据源在报表设计器或者Visual Studio中创建一个新的报表模板,模板类型选择RDL报表

2

设置报表纸张大小为宽30cm,高18cm;页面距全部为0cm;

3

在报表资源管理器窗口中,添加数据源 DataSource1

4

在数据源DataSource1中上面添加数据集DataSet1,使用的 SQL 语句如下:SELECT top 30 产品.产品名称,订单.货主地区,SUM(订单明细.数量) AS 销售量 FROM (( 订单 INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID) INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID) WHERE DATEDIFF('yyyy',订单.订购日期,'2011-01-01') = 0 GROUP BY 产品.产品名称,订单.货主地区 ORDER BY SUM(订单明细.数量) desc

5

数据集 DataSet1 对应的查询结果如下:

6

在报表中添加图表从工具箱中双击图表将其添加到报表设计界面上,图表类型选择柱形图,设置图表大小(Size)属性为27.8cm, 16.6cm

7

从数据集 DataSet1 中将【产品名称】字段拖拽到图表下方【将类别字段拖动到这里】区域,如下图红色线所标记的操作;将【销售量】字段拖拽到图表上方的【将数据字段拖动到这里】区域,如下图蓝色线所标记操作。

8

完成以上操作之后,点击设计器下方【预览】选项卡,可以查看生成的图表效果

9

设置图表预警色功能在报表【脚本】视图中添加以下代码,用来返回不同范围内销售量对应的颜色:Function SetColor(ByVal value As Double) As String     If(value < 200) Then         Return 'Red'     ElseIf(value < 300) Then         Return '#F37A5A'     ElseIf(value < 400) Then         Return '#FFE022'     ElseIf(value < 500) Then         Return '#B5E610'     Else         Return '#00B338'     End If End Function

10

在报表设计器右下角的命令区域内,点击【图表数据】打开图表属性设置对话框,并切换到【系列值】选项卡,在该页面中选择【销售量】,并从下方的【样式】中设置【填充色】属性的值为=Code.SetColor(Sum([销售量]),这样柱状图的每个柱子颜色会根据销售量动态变化。点击【确定】按钮完成预警色设置操作。

11

在返回设计界面之后点击设计区域【预览】查看报表效果

12

继续点击设计工具右下角区域的【图表数据】打开图表属性设置对话框,切换到【类别分组】页面,并在【排序】中添加一个排序规则,表达式设置为 =Sum([销售量]) ,方向设置为【升序】,如下图:

13

完成以上操作之后,点击【确定】按钮回到报表设计界面,并点击报表设计区域下方的【预览】查看效果

14

为图表添加预警线功能点击设计工具右下角区域的【图表Y-轴坐标】打开图表Y-轴属性设置对话框,切换到【其他】页面,并设置预警线区域的以下属性:值:200样式:Dashed宽度:2pt颜色:Red图例标签:销售目标预警线

15

完成以上操作之后,点击【确定】按钮回到报表设计界面,并点击报表设计区域下方的【预览】查看效果

推荐信息