这段时间一直在敲rdl报表,在国内的不这么留在,在国外的话,还是挺流行的,国内的话,这方面的资料很少很少,也踏过不少坑

先从SSRS了解起,SSRS全称 SQL Server Reporting Services,是依赖于数据库运行的,是微软开发的重量级别的BI产品

有什么优却点呢?

  因为是重量级的,所以上手容易,开发简单,有数据库服务器就可以了,不需要依赖于IIS运行,而且好像可以自动发送邮件

  可扩展性比较低,(有用么,做好一个报表就直接用了,扩展的可能性本来就低),对比那些其他报表来说,确实比较好

  在国内,我看到有好多友友是把rdl报表嵌在C#项目里开发的,rdl只是一个显示窗口,用C# 的各种空间做输入,其实完全用不着,微软提供的rdl报表参数挺好用的

废话不多说了,开发rdl报表,有两种方式,一种是SSDT,一种就是SSRS

  在这里说下SSDT

  对应的数据库版本不同,名称也有点差别,在SqlServer2008,叫做SQL Server Business Intelligence Development Studio,是集成在数据库安装包的,属于SqlServer的开发工具,同时呢,SSRS也集成在数据库安装包里,

  SqlServer2012,名称忘了叫啥了,图标和名称与2008的都很相似

  因为SqlServer2014没有使用过,所以,跳过

  在SqlServer2016以后,画风大变,在安装选项里只有一个SSRS选项,SSDT给了Vs了,在VS2017可以安装SSDT组件

  SqlServer2017呢,SSDT和SSRS都需要独立安装,不同的是,SSDT属于VS的实例,SSRS属于SQLServer的实例

  在SSRS和SSDT都可以开发rdl报表,SSRS是依托于服务器开发,包括创建报表都是从服务器上操作,SSDT就像平常的开发,建立一个空的商业智能项目,开发完成后可上传到SSRS服务器,也可以直接连接SSRS服务器开发

  先贴上我拿来演示的数据

  

CREATE TABLE STUDENT
(
GID VARCHAR(50) UNIQUE,
ID INT IDENTITY,
NAME VARCHAR(20),
SEX BIT,
CHINESE INT,
MATHEMATICS INT,
ENGLIST INT
);
GO
INSERT INTO STUDENT(GID,NAME,SEX,CHINESE,MATHEMATICS,ENGLIST) VALUES (NEWID(),'张三',0,95,90,75);
INSERT INTO STUDENT(GID,NAME,SEX,CHINESE,MATHEMATICS,ENGLIST) VALUES (NEWID(),'李四',0,95,90,75);
INSERT INTO STUDENT(GID,NAME,SEX,CHINESE,MATHEMATICS,ENGLIST) VALUES (NEWID(),'王五',1,95,90,75);
INSERT INTO STUDENT(GID,NAME,SEX,CHINESE,MATHEMATICS,ENGLIST) VALUES (NEWID(),'赵六',0,95,90,75);
GO

  

  个人呢喜欢用SSDT开发,比SSRS好操作,更灵活

  1. 配置SSRS
  •   先配置SSRS服务器,打开Reporting Server 配置管理器,选择报表服务器实例

  

  •   配置账户
  • 配置本地服务器,用内置账户就可以了,要是给别人用的,选择配置其他账户,在其他账户里,注意用户名是域/用户名的格式,不知道是什么的可以看看你的系统说明,保存秘钥,确认

  • Web服务URL
  • 在这里,点击高级,可以添加,可以修改,在以后做子报表的时候需要用这个

  • 更改数据库
  • 本地服务器的话,默认就好,远程服务器的话,需要报表模式为Sql账户,凭据也是

  • Web门户URL
  • 这个了,就随便了,这个是你SSRS报表管理页面的配置,配置完成的话,现在就可以访问了

  2.  现在开始创建报表:

    SSRS方式

    打开你的SSRS管理页面,在右上角点击加号(新建)新建文件夹与报表,在SqlServer2012之前,点击添加报表,在2016以及2016之后,区分了移动报表,分页报表

    点击加号(新建),可以新建文件夹,KPI报表,移动报表,分页报表,数据源,数据集

      

    分页报表

    新建分页报表会打开Reporting Builder,没有的话在弹出的页面选择获取Reporting Builder;

    在Reporting Builder首先会给你弹出一个向导,有表格矩阵,图表,地图向导,空白报表

    

     首先,选择创建数据集(可以使用共享数据集),

     然后,创建数据源,点击新建,输入连接字符串,或是生成字符串

     第三步,通过Sql完成数据集的创建,可以通过可视化操作,也可以点击编辑为文本输入sql

      (在这里需要的是,字段名称不能有重复的,不能同时写两个以上的查询语句或不能包含函数操作类的语句)

     第四部,分组

      

    第五步:选择布局

    SqlServer2012之前会有第六步选择样式外观

    最后点击完成,这样,一个最简单的报表就出来了

    SSDT方式(支持中文)

    Sqlserver2012(包含)之前的版本,打开SQL Server Business Intelligence Development Studio,选择商业智能项目,创建报表服务项目

    VS2017(包含)之后,打开VS,打开VS2017或VS2017 SSDT,选择商业智能项目,创建报表服务项目

    你的电脑数据库为2016/2017的,VS为2017以下的,抱歉了,只能通过SSRS创建报表

    选择项目路径以及名称

    打开解决方案资源管理器,右击报表,选择添加新报表

    选择或新建数据源,点击编辑可以生成连接字符串

    输入查询的sql语句

    选择表格或矩阵

    分组

    输入报表名称

    完成

    下班了,明天继续

SSRS报表服务随笔(rdl报表服务)-创建一个简单的报表的更多相关文章

  1. SSRS报表服务随笔(rdl报表服务)-报表参数

    上一篇我们说了创建一个简单的显示报表,但在实际工作中,我们有很多要带条件的报表 现在先认识一下报表数据,首次打开SSDT,报表数据在窗口的左侧,要是找不到了,没关系,在工具栏-视图-最下面的报表数据 ...

  2. Java开源报表Jasper入门(2) -- 使用JasperSoft Studio创建一个简单报表

    在接下来的教程中,我们将实现一个简单的JasperReports示例,展现其基本的开发.使用流程.文章很长,不过是以图片居多,文字并不多. 实例中使用最新的Jasper Studio5.2进行报表设计 ...

  3. DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表

    原文:DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助 ...

  4. node创建一个简单的web服务

    本文将如何用node创建一个简单的web服务,过程也很简单呢~ 开始之前要先安装node.js 1.创建一个最简单的服务 // server.js const http = require('http ...

  5. django创建一个简单的web站点

    一.新建project 使用Pycharm,File->New Project…,选择Django,给project命名 (project不能用test命名)   新建的project目录如下: ...

  6. IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程

    一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 ...

  7. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)

    这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...

  8. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  9. [转帖] Linux 创建一个简单的私有CA、发证、吊销证书

    原创帖子地址:   https://blog.csdn.net/mr_rsq/article/details/71001810 Linux 创建一个简单的私有CA.发证.吊销证书 2017年04月30 ...

随机推荐

  1. Python入门指南(超详细)

    Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫.但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑科技.本文主要针对的读者是: 毫无 ...

  2. Linux 安装 MongoDB

    一.下载 Linux:CentOS 7.3 64位 MongoDB:3.6.4 安装目录:/usr/local cd /usr/local wget https://fastdl.mongodb.or ...

  3. 登录测试用例sql语句注入

    利用SQL注入漏洞登录后台的实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-01-12我要评论 工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意.读 ...

  4. 第三次 orm自动建表及遇到的问题

    Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 方法很简单,在hibernate.cfg.xml内加入 <property name="hi ...

  5. 基于SpringBoot + Mybatis实现SpringMVC Web项目

    一.热身 一个现实的场景是:当我们开发一个Web工程时,架构师和开发工程师可能更关心项目技术结构上的设计.而几乎所有结构良好的软件(项目)都使用了分层设计.分层设计是将项目按技术职能分为几个内聚的部分 ...

  6. Linux时间子系统之(一):时间的基本概念

    专题文档汇总目录 Notes:Linux时间基准点:Linux时间和broken-down time(struct tm):不同精度的时间表示time_t.timeval.timespec. 原文地址 ...

  7. 微信小程序开发之formId使用(模板消息)

    基于微信小程序的模板消息:基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.模板推送位置:服务通知模板下发条件:用户本人在微信体系内与页面有交互 ...

  8. 拇指玩」制作的「谷歌安装器」app

    作者:匿名用户链接:https://www.zhihu.com/question/57468448/answer/153000587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  9. Using INSERT IGNORE with MySQL to prevent duplicate key errors

    An error will occur when inserting a new record in MySQL if the primary key specified in the insert ...

  10. C#中的is和as

    is检查一个对象是否兼容于指定的类型,不返回Boolean值.注意is操作符永远不会抛异常.is操作符通常这样使用: if(o is Employee) { Employee e=(Employee) ...