图书前言

前    言

十四年!我不得不大声说出来,以确保没错……是的,十四年。从我开始使用Reporting Services创建报表和报表解决方案以来,已经有这么长时间了。

咨询客户、参会人员和学生经常询问,他们应使用BI或报表工具中的哪一个来满足业务报表需求。我用过其他几个微软产品,包括SQL Server、分析服务、集成服务、SharePoint、Access、Excel和Power BI,但Reporting Services是我不断回过头来使用的工具,因为它有那么多功能。

Reporting Services自从2003年发布以来,我和同行们一直在追踪该产品的每一个版本;自那时以来,Wrox出版社已经出版了6本关于Reporting Services的图书。我紧密配合微软产品团队的领导,与产品开发人员团结合作,继续创新,推动该产品向前发展。我已经学会了正确使用SSRS,但偶尔使用不正确;这得益于在此过程中能做和不能做的一些惨痛教训。我的目标是分享这方面的经验,以及我们多年开发出来的最佳实践。

《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》读者对象

《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》是为满足广大读者的需求而编写的,包括针对报表设计人员、开发人员、管理人员和业务人员的特定解决方案。《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的目标是成为一本综合指南与参考文献,适用于报表设计新手,以及对学习使用高级功能感兴趣的专家。

《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》内容

《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》分为7大部分。

第Ⅰ部分:入门

该部分将介绍Reporting Services及其使用方法。该部分的三章将帮助读者了解Reporting Services的功能和报表平台,讨论用于创建KPI、分页报表和移动报表的服务器平台和报表设计工具,并介绍SQL Server 2016 Reporting Services中的新内容。

第1章涵盖Reporting Services用例,使用和创建仪表板,创建报表以及构建集成的应用程序。我们讨论如何根据业务需求选择合适的报表工具,以及优化报表的性能。

第2章介绍SSRS 2016的新增功能,了解报表设计器的增强功能,现代浏览器的渲染与参数布局管理。我们会介绍移动报表和KPI,新的印刷和渲染选项,新的报表门户网站,以及Power BI仪表板的固定与整合。

第3章学习如何安装Reporting Services,了解服务器架构。我们讨论SQL Server 2016体系结构的变化,以及如何安装和设置报表服务器。探讨如何构建企业报表服务器部署,以及如何使用工具管理报表生命周期,利用Reporting Services扩展功能。

第Ⅱ部分:基本报表设计

该部分包括一系列动手练习,用于实践构建报表、查询以及各章中讨论的解决方案的过程。该部分提供所有报表和练习的完成副本,以供参考。这些章将引导读者完成对所有报表设计而言非常基本的构建块。我们将学习数据区域、组、报表项、页面中断、表、矩阵和图表背后的机制。

第4章包括报表布局和格式设置。学习使用数据集、数据区域和其他报表数据构建块。还将学习使用表和矩阵设计报表布局,并使用表达式设置分组和格式化属性。

第5章讲授数据库查询要领。学习理解关系数据库原理、概念和数据源管理,并使用查询设计工具建立简单和复杂的数据集。我们将使用Report Builder查询设计器、SSDT报表设计器和SQL Server Management Studio完成查询的编辑。你将熟悉查询中的单个和多个选择参数。

第6章介绍Visual Studio中的SQL Server数据工具。在该章的练习中使用图形化查询设计器和带有参数及复杂查询逻辑的手写查询,构建更高级的报表。你将明白表连接和报表数据流中的查询分组,理解用于复杂分组、排序和可见性的报表组和表达式。

第Ⅲ部分:高级和分析报表

这些章涉及高级和更复杂的报表场景,你将基于分组和表达式技巧,使更高级的查询包含参数、表达式和可编程逻辑。

第7章介绍高级报表设计。我们将管理分页和报表的页眉和页脚,给文本格式和布局属性、HTML文本和样式、主/从报表、子报表和文档结构图使用条件逻辑。

第8章将学习图形化报表设计原则和标准。我们先回顾标准和先进的图表类型和设计方法,然后深入更复杂的图表特征,绘制多序列和多区域的图表。此外,还学习使用KPI指标、迷你图和数据条。

第9章介绍高级查询和参数,了解T-SQL查询和参数,以及MDX查询和参数。

第10章使用SQL Server Analysis Services作为报表的数据源,以使用多维表达式(Multidimensional Expressions,MDX)。我们将学习使用MDX查询设计器生成查询,以及手写带参数的MDX。

第11章是一个关于报表解决方案的复杂例子,它充分利用了MDX语言和Analysis Services的强大功能。在这个多维数据集浏览器解决方案中,使用报表来枚举和提示用户进行参数选择,然后动态导航整个多维数据集结构。这个示例展示了一些非常有用、复杂的报表导航和设计技术。

第12章学习交互操作和报表导航。这里再次使用用于实现条件逻辑的表达式。我们要学习使用常用的功能,如基于决策的表达式和自定义代码中的IIF和SWITCH,并使用递归关系以及在报表间导航的操作来学习报表技术。

第Ⅳ部分:解决方案模式

如果使用带有集成版本控制的Visual Studio,并与团队一起构建解决方案,《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的这部分就十分值得一读。该部分将学习如何与其他报表和解决方案开发人员一起,使用正规的项目方法管理报表项目。

第13章介绍报表项目和报表合并。该章学习运用SSDT解决方案模式,了解如何考虑报表的规范和需求,并在项目开发各个阶段工作。我们将在项目和解决方案中创建报表模板并管理报表。你将学习如何计划自助式报表解决方案,如何支持非技术报表设计人员,使用Report Builder在托管的环境中创建自己的报表。

第14章学习报表解决方案、模式和要点。该章将多个报表合并到超级报表和业务仪表板上。设计KPI记分卡、带有缩放和导航功能的互动迷你式报表以及带有缩放和导航功能导航的地图报表。

第Ⅴ部分:Reporting Services自定义编程

该部分学习如何将Reporting Services集成到自定义应用程序中,并在使用URL访问和Web服务调用的Web门户环境之外使用报表。

第15章将报表集成到自定义应用程序中。该章将使用URL访问和Web服务来呈现报表,构建自定义Windows窗体或Web窗体应用程序,以输入参数,并在自定义界面中呈现报表。我们将学习如何创建用于Reporting Services报表的定制输入界面。

第16章将学习扩展Reporting Services并利用扩展选项。首先讨论扩展SQL Server Reporting Services和创建自定义扩展的原因。通常,这些选项很复杂,是针对标准报表场景之外的业务需求。你在该章将了解如何使用每种类型的Reporting Services扩展,提供报表的自定义呈现、安全性、数据访问和交付。

第Ⅵ部分:移动报表解决方案

《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的该部分介绍SQL Server 2016中引入的新的移动报表功能。该部分将学习使用Mobile Report Publisher和新的移动报表平台,以交付专门为平板电脑、智能手机和其他移动设备设计的报表。首先介绍基本的移动报表设计方法与技术,然后学习使用每个可视化控件、导航器和选择器、报表导航和样式选项。

第17章介绍Reporting Services移动报表。你将学习通过Mobile Report Publisher使用共享数据集,并为移动设备提供交互信息。还将学习基本的构建块,以及每个可视化控件类别中的组件如何用于导航和可视化。

第18章使用设计优先开发方式实现移动报表。使用设计器向移动报表添加可视化控件,模拟数据将自动生成以演示可视化控件的交互和报表导航。你将学习快速原型技术和有效的用户需求收集会话,学会使用Time导航器、选择器、数字仪表和图表。你将为不同的设备类型和颜色样式应用布局,然后部署并测试完整的移动报表。

第19章介绍高级报表场景中的移动报表设计模式。该章会使用控件创建用于时间序列、分段、性能、地理可视化与互动的移动报表。我们将配置服务器访问,发布可以用于网络和不同移动设备的报表。

第20章介绍高级移动报表解决方案,介绍图表数据网格可视化控件,并学习在控件中关联多个数据集。你将学习在移动报表中使用数据集和查询参数,用数据集参数钻取移动报表,用数据集参数钻取分页报表。此外,还将学习使用地图可视化、添加自定义地图,并管理用于地理报表的地图形状。

第Ⅶ部分:管理Reporting Services

该部分将帮你管理内容,执行服务器的管理、配置、故障诊断和维护。

第21章介绍报表服务器的内容管理,学习如何使用Web门户作为管理工具,执行内容管理活动,其中包括安全管理,以及数据源、共享数据集和报表优化。还将学习如何管理、强制组和单个用户对文件夹和报表的安全访问。

第22章学习账号管理和系统级规则,实现表面区域的管理,规划用于灾难恢复的备份,管理应用程序数据库,管理密钥,并学会利用配置文件。还将学习执行报表服务器的审计和日志记录;并使用性能计数器和服务器管理报表。学习为报表服务器使用合适的内存和资源管理,配置URL保留项,管理电子邮件的交付,以及管理服务器上的自定义扩展。

《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》要求

设计、运行SQL Server 2016和Reporting Services的软硬件要求是:在最新的业务级计算机上运行。自定义编程示例要求安装任何版本的Visual Studio 2015或更新版本。微软对SQL Server 2016的指定要求在MSDN库中,网址是http://msdn.microsoft.com/en-us/library/ ms143506.aspx。

● SQL Server 2016开发版是免费的,用Visual Studio Dev Essentials账户运行,网址是www.visualstudio.com/dev-essentials。也可以下载SQL Server 2016开发版或企业版,如果有MSDN订阅,还可以下载Visual Studio。

● 使用分页Reporting Services报表的报表设计示例可用于SQL Server 2016的任何版本,能运行在满足最低要求的计算机上。移动报表和KPI报表需要SQL Server 2016开发版或企业版。

● 第9~第11章需要在多维存储模式下安装SQL Server Analysis Services。这是SQL Server安装的一个可选部分。

● 在报表设计器外部执行的自定义编程示例需要单独安装的Visual Studio 2015或更高版本。第15和第16章介绍了此项内容所需的材料。

● 在示例和练习中使用的示例数据库可以从www.wrox.com网站上随《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的示例项目一同下载。此外,还可以获得其他资源。

● 完整的示例源代码可以从www.wrox.com网站下载。针对编程示例,下载时提供Visual Basic .NET 代码和C#代码两个版本。

示例报表和项目

示例报表、Visual Studio项目、后续章节练习中产生的所有报表文件的完成副本都在《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》附带的文件中提供。所有的示例和完成的练习文件都可从www.wrox.com网站下载。进入该网站,搜索《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的英文ISBN(978-1-119-25835-3),然后单击《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》详细信息页面上的Download Code链接,就会获得《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的所有示例文件。读者也可通过网址http://www.tupwk.com. cn/downpage或用手机扫描封底二维码来获取这些资料

一旦下载文件存档,只需要使用Windows文件管理器或喜欢的压缩工具解压即可。

注意:

可以进入Wrox代码下载主页面http://www.wrox.com/dynamic/books/download.aspx,查看所有Wrox图书的可用代码。

勘误表

尽管我们已经努力来保证文章或代码中不出现错误,但错误总是难免的。如果在《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》中找到错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。

要在网站上找到《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》英文版的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》,然后在《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的细目页面上,单击Book Errata链接。在这个页面上可以看到Wrox编辑已提交和粘贴的所有勘误。完整的图书列表还包括每《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的勘误表,网址是www.wrox.com/misc-pages/booklist.shtml。

如果在Book Errata页面上没有找到自己的错误,就进入www.wrox.com/contact/ techsupport.shtml,完成上面的表单,给我们发送你找到的错误。我们会检查你的反馈信息,如果是正确的,我们将在《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》的后续版本中采用。

p2p.wrox.com

要与作者和同行讨论,请加入p2p.wrox.com上的P2P论坛。这个论坛是一个基于Web的系统,便于你张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给你传送感兴趣的主题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。

在http://p2p.wrox.com上,有许多不同的论坛,它们不仅有助于阅读《SQL Server 2016报表设计与BI解决方案(第3版) Reporting Services和Mobile Reports实战》,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤:

(1) 进入p2p.wrox.com,单击Register链接。

(2) 阅读使用协议,并单击Agree按钮。

(3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按钮。

(4) 你会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。

注意:

不加入P2P也可以阅读论坛上的消息,但要张贴自己的消息,就必须加入该论坛。

加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。

关于使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。