• Sql Server 2008 Reporting Services系列(一)


    一、了解Reporting Services

         Sqlserver Reporting Services是微软的数据库报表设计工具,它集成在微软的商业智能开发工具:SQL Server Business Intelligence Development Studio之中,这个工具其实就是大家熟悉的Visual Studio,利用Reporting Services我么能够高效的开发数据报表,Reporting Services为我们提供了各种数据模版,根据数据模版我们可以构建各种样式的报表,其中包括常常用到的表,矩阵,图表等,都会依依为大家介绍。另外Reporting Services支持的数据源大致分为两种:(1)OLTP,基于SQL语句的数据源,利用关系型数据库为报表提供数据。(2)OLAP,基于数据仓库的数据源,利用多维数据集为报表提供数据。好了基础的东西就说这么多,以后在例子中用到我在详细为大家介绍某些概念。

    二、初试牛刀,我的第一张报表

         在这里先说明一下,首先在安装SQL SERVER 2008的时候,你必须安装Reporting Services组件,因为安装这个组件后,才会在SQL Server Business Intelligence Development Studio上出现报表项目。

         确定你已经安装了Reporting Services后打开SQL Server Business Intelligence Development Studio,在新建项目中选择商业智能项目(SQL SERVER所有BI的项目都属于这个类),在模版中选择报表服务器项目,输入项目名:MyReport

    建立好项目之后我们发现项目结构主要包含两个文件夹:

    共享数据源:所有的报表要从数据库中读数据,必须要是定一个数据源,数据源以两种方式存在于报表中:

    (1)报表数据源,报表数据源属于每个报表自己,其余报表不能使用。

    (2)共享数据源,共享数据源属于报表项目,项目中的所有报表都可以使用共享数据源。

    报表:项目中所有的报表都呈现在这个文件夹下

    然后我们开始建立数据源

    选择共享数据源文件夹,点右键,在弹出菜单中选择新建数据源,然后填写数据源名称,数据源类型,以及连接到数据库的连接字符串:

    建立好后,我们发现数据源文件夹下就出现了ShareOltpDataSource.rds数据源

    之后我们就可以开始设计报表了,选择报表文件夹,点击右键,在弹出菜单中选择“新建-》添加-》新建项”

    然后在弹出的窗口中选择报表,再输入报表名称:

    接下来报表文件夹中就出现了我们新建的报表:Student.rdl

    另外报表设计器也出现在了VS中。

    选择报表数据视图(如果没有在VS菜单栏上选择视图-》报表数据),新建-》数据源,接着我们选择使用共享数据源,在下拉列表中选中ShareOltpDataSource,点击确定数据源就建立好了,实际上我们这里新建的数据源是报表数据源,一个报表可以有多个数据源,在新建报表数据源的时候,你可以选择使用共享数据源,那么报表数据源实际上就成为了共享数据源的代理。

    有了数据源后我就可以建立数据集了,数据集是指定报表可用数据字段的地方,数据集中指定SQL语句,就可以根据你写的SQL语句返回查询的字段,再将这些字段指定到报表控件中,显示出来就是一张完整的报表了。

     要建立数据集,在刚才新建的数据源上点击右键:选择添加数据集,在弹出的窗口中点击查询设计器,然后输入查询语句:

    点击确定,我们可以看到新建立的数据集列出了查询的字段:

    数据准备完成了,开始设计报表,打开工具箱选卡(视图-》工具箱),使用鼠标拖一个表控件到报表设计区域:

    表模版默认是没有边框的,点击边框给表加上边框,点中表上任意一个文本框,点击鼠标右键,选择文本框属性:

    在弹出的窗口中选择边框项,在选择外边框:

    这样我们就设置好一个表文本框了,接下来幸运的是文本框的样式支持复制粘贴(事实上文本框的所有属性都支持Copy),所以在刚才设置好的文本框上选择复制,在其他文本框上选择粘贴,整个表的边框样式就设置完毕了:

    下面只差一步我们的第一张报表就完成了:

    将数据集上的字段,挨个用鼠标拖入表的第二行,这样第一行标头也会自动生成:

    哈哈大功告成,点击预览选项卡后,我们就可以看到我们的第一张报表就呈现出来了:

    当然我们还装扮一下我们的报表让它看起来更有好一些:

    这次先介绍到这里,这里只介绍了一些基本的东西,更多特性我会在以后逐一为大家介绍,如果有不好的地方请大家提出来,我会在以后的文章中改进:)

  • 相关阅读:
    [PHP] Laravel 的 503 Service Unavailable 模板提示的来源
    [FAQ] 钉钉 Excel 回车键不能换行 ? 在线编辑如何换行
    [Go] Golang并发控制: WaitGroup 含义和常规用法
    [Go] 浅谈 Golang Chan 通信与死锁:all goroutines are asleep deadlock
    [Caddy2] Caddyfile 静态文件托管 file_server 的 hide 用法
    [PHP] 业务逻辑大内存占用的优化思路, yield 和 chunk
    [PHP] 如何让 phpfpm 的循环 echo 实时输出到浏览器
    [CosmWasm] 安装 Rust 和 wasm32 (Linux & Mac)
    [FAQ] WebStorm/PHPStorm 设置 HTML/JavaScript/PHP 注释缩进行为
    [Go] Golang Context 包的注意点
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/1679321.html
Copyright © 2020-2023  润新知