博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
玩转SSRS第三篇---丰富你的报表
阅读量:6858 次
发布时间:2019-06-26

本文共 2313 字,大约阅读时间需要 7 分钟。

报表服务是微软SQLSERVER商业智能其中的一个组件,借助报表服务,用户可以制作各种各样的报表,无论是简单的还是复杂的报表,同时系统提供订阅功能方便用户对报表进行订阅。此外,开发人员也可以很容易地把一个SSRS报表集成到自己的winform或者webform程序中。

声明一下,本文使用的SQL Server版本是2012,操作系统Windows 8。

此篇将在上一篇的基础之上介绍如何为报表添加更多的功能,你会对格式,分组以及展开和发布有简单的了解。

 

继续上一篇的项目。首先为数值字段设置显示格式。右键单击Table控件中的数值区域,选择Text Box Properties…文本框属性。

在属性窗体中左侧选择Number,然后选择Currency。

设置完毕后,同样为另外两个字段设置格式。设置好后可以看到报表预览中报表中的数字已经发生了变化。

接下来为报表添加分组功能。在报表设计界面中,留意下面的Row Groups区域。

将Report Data中的数据集中的SHIPDATA拖拽到Row Groups区域,位于Details的上边,然后将ProductCategory拖拽到Row Groups中SHIPDATE和Details之间。

简单的分组建立完毕,然后可以通过预览功能看到报表分组之后的样子。

接下来为经过分组之后的报表添加汇总功能。切换回报表的设计模式,在Row Groups区域中,右键单击SHIPDATE,选择Add Total->After。这样讲在分组数据的最后面添加汇总数据的功能。

然后依次给ProductCategory也添加同样的汇总数据功能,最后报表设计界面中的Table控件看上去会如下图一样。

点击预览标签可以看到分组报表添加汇总功能之后的样子。

下面介绍如何给报表添加展开的功能。展开的依据就是根据分总的报表。

右键点击ProductCategory,然后点击Group Properties分组属性。

在分组属性界面中,点击左侧的Visibility,然后点击右侧的Hide让分组默认是关闭状态,最后勾选下面的Display can be toggled by this report item,使展开项是根据哪个报表元素展开的。这里选择SHIPDATE,因为这里报表的展开按钮就是要加在SHIPDATE的前面,然后来展开ProductCategory之后的列的信息。

点击OK后,可以在Preview里看到带有展开功能的报表。

点击SHIPDATE项前面的加号,可以看到位于这一项下面的详细信息。

 

最后,我们留意到报表的参数中,年份的选择是手工输入的,这样明显不够友好,而且错误的输入也会给报表产生错误。

我们通常希望这里显示的年是实际数据中所有的年份,所以我们这里为这个参数单独指定一个查询来建立数据集。

右键单击Datasets选择Add Dataset…新建一个数据集。

在数据集属性中,首先选择Use a dataset embedded in my report,然后在Data source数据源下拉列表中选择项目中建立的数据源。最后在Query type中选择Text然后在Query中输入如下的SQL语句:

SELECT DISTINCT LEFT(ShipDateKey,4) AS [DATEYEAR]

FROM [AdventureWorksDW2012].[dbo].[FactInternetSales]

ORDER BY LEFT(ShipDateKey,4) DESC

 

点击OK后,数据集建立完毕,下面将它绑定到参数@YEAR中。

展开Parameters,右键单击@YEAR参数,选择Parameter Properties。

在报表参数属性中,左侧选择Available Values,然后在右侧选择Get values from a query,在Dataset中选择刚才新建立的数据集,然后在Value field和Label field中分别指定数据源列的DATEYEAR作为值列和标签列。

数据集绑定完毕,点击OK后点击Preview浏览报表,可以看到YEAR参数已经变成下拉可以选择的状态了。

 

以上,一个简单的报表就制作完毕了,它包含了报表最基本的功能,还有分组和折叠以及参数等功能。

报表制作完毕之后需要发布到报表服务器,在发布之前,首先要确认报表服务器地址。在报表项目的Solution Explorer中,右键单击项目名称,选择Properties。

在TargetServerURL中需要输入报表服务的路径,它的通常格式就是http://[你的机器名]:80/reportserver。

通过上面的设置确定报表发布到哪里之后,再次右键单击项目名称,点击Deploy。

然后系统启动部署流程,在Output界面可以看到部署的结果。

(还记得第一篇中我们为自己的管理员账户配置了相应的权限吗?)

部署完成之后,打开reportserver管理界面,可以看到项目文件已经被部署到网站的根目录下,点击Report Project1文件夹。

可以看到刚才编辑的报表,点击它。

可以看到在浏览器下的报表效果。

 

 

以上如何建立一个报表就简单介绍到这里,相信您已经对报表服务已经有了大体的了解。

需要说明一下的是,根据笔者的工作经验,分组的以及SSRS报表开发的方法,2008,2008 R2以及2012基本一致,2000和2005的版本会有很大的不同。参考此篇的时候请留意一下自己使用的版本。

下一篇将介绍如何在应用程序中使用报表功能。

转载地址:http://ytjyl.baihongyu.com/

你可能感兴趣的文章
sql中的笛卡尔积
查看>>
使用MEF+MVVM light+WCF RIA Service实现的Sellthrough系统
查看>>
it技能图
查看>>
jedis 2.0.0 for maven usage
查看>>
curl+sed+shell编写一个英语翻译脚本
查看>>
C Array length function problem - C / C++
查看>>
ASP.NET中26个常用性能优化方法
查看>>
Objective-C利用协议实现回调函数
查看>>
【021】VS2010实现强类型DataSet
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程.......)
查看>>
使用mssql2008新特性(存储过程参数类型使用"用户自定义表"来实现批量DML更新多表)解决项目里遇到的性能问题...
查看>>
[置顶] 深入浅出Spring(三) AOP详解
查看>>
设计模式—策略模式
查看>>
Subset II leetcode java
查看>>
目标检测之视频摘要---即视频浓缩,视频检索,视频摘要浓缩
查看>>
Linux下解压tar.xz
查看>>
Linux addr2line命令
查看>>
Java集合之HashSet源码分析
查看>>
自定义圆形控件 RoundImageView
查看>>
CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程
查看>>