【译】无处不在的数据 ----通向报表服务的阶梯系列(三)

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:
    你在一堆由经理提供的打印出来的EXCEL表格、Access报表、和笔记中疯狂的查找数据.你需要来自这个数据源的描述,来自那个数据源的指标,来自另一个数据源的过滤信息。对于这些无处不在的数据,你该如何是好呢?

    连着做两次深呼吸。本系列文章又来拯救你了!本篇文章讨论如何连接到不同的数据源并抓取数据。如果你还未阅读本系列的前两篇文章,请看:

    初识SSRS ----通向报表服务的阶梯系列(一)
    SSRS基础 ----通向报表服务的阶梯系列(二)
    PS:别忘了深呼吸后把气呼出来

 

数据,数据,数据

    报表存在的目标是展示数据。虽然这些数据可能来自不同的数据源,但最终用户只会看到你最终提供的数据。你需要两个与数据有关的报表项来实现这个目标,它们分别为:数据源(Data Sources)和数据集(Datasets)

 

数据源(Data Sources)

    数据源包含了所需要获取数据的位置信息。这个信息可能是一个连接字符串,比如SQL Server数据库或分析服务数据库,如果是Web Service的话,也可能是一个URL。数据源为报表服务提供数据源的连接信息和安全验证信息。

    报表服务器包含了两类数据源:

    共享数据源是连接外部数据源的抽象链接。共享数据源可以在多个报表中使用,因此单独上传到报表服务器
   嵌入数据源就像其名称所示那样是嵌入到报表中的。因此嵌入数据源不能在多个报表间共享,也不能在报表外部访问
    很多情况下改变数据来源的信息是家常便饭。比如你的开发环境由测试环境变为生产环境,或是由于公司新的命名规则的推行使得数据库服务器名称发生了变化。因为这类事情常常发生,所以我推荐在所有的报表中使用共享数据源。下面让我们来看一下创建共享数据源的步骤。

 

创建共享数据源

    打开Business Intelligence Development Studio (BIDS).在创建完报表服务项目后,在解决方案管理器中可以看到共享数据源目录。右键点击该目录选择添加新的数据源,如图3-1所示:

    1

    图3-1. 共享数据源

    接下来出现数据源向导。我们可以在这个窗口看到数据源名称,类型以及连接字符串,这个属性窗口如图3-2所示。

    2

    图3-2.共享数据源属性屏幕

  

    将你的数据源命名为报表作者可以识别并不与具体报表环境相关的名称。当创建一个SQL Server 数据连接时。直接使用数据库的名称是一个不错的做法。对于Reporting Services 2008 R2来说,你可以连接到一下数据源:

Microsoft SQL Server
Microsoft SQL Azure
Microsoft SQL Server Parallel Data Warehouse
OLE DB
Microsoft SQL Server Analysis Services
Oracle
ODBC
XML
Report Server Model
Microsoft SharePoint List
SAP NetWeaver BI
Hyperion Essbase
TERADATA
    点击“编辑”按钮创建连接字符串。填入所需的信息后点击OK,你就可以看到生成的连接字符串了。然后点击确定,你就可以在解决方案管理器中看到刚刚创建的共享数据源了。

 

将共享数据源归类为报表数据源

    在创建完一个可以被所有报表共享的共享数据源之外,你还需要通过创建报表数据源告诉报表使用哪个共享数据源。这一步可以在BIDS的报表数据窗格来实现,如图3-3所示,右键点击数据源,选择添加数据源

    注意:如果你没有看到报表数据窗口,你可以通过视图菜单 –>报表数据或者按快捷键:Ctrl+Alt+D。

    3

    图3-3.通过报表数据窗格添加数据源

 

    因为你已经创建了共享数据源,现在你就可以在”使用共享数据源引用”下选择刚才创建的共享数据源,如图3-4所示。

    4

       图3-4.数据源属性窗口

 

     下面我们可以准备开始抓取数据了。

 

数据集

    在我们知道从何处抓取数据库,我们还需要告诉报表服务抓取什么数据。这一步可以在报表服务中通过数据集来实现。与数据源的创建类似,你可以创建两类数据集:

共享数据集仅仅在SQL Server 2008 R2以上可用,将查询语句抽象出来供多个报表使用。
嵌入数据集存储在单个报表中,这也是本篇文章将用到的。
    创建一个嵌入数据集,我们来看一下BIDS的报表数据窗格,右键点击数据集选择添加数据集,如图3-5所示。

    5

    图3-5.通过报表数据窗格添加数据集

 

    打开后,你可以在数据集属性屏幕中填入合适的名称,数据源和你需要的查询语句。记住你可以在一个报表中拥有多个数据源。所以命名需要与细节相关以便你在用到的时候知道用哪个数据集。当然,不要命名的太细节以便在未来你还需要在数据集中添加额外字段时不必重新命名数据集。这类命名比如:SalesByCustomer或 SubUnitProperties.

    在Reporting Services 2008 R2中,接着选择”使用在我的报表中嵌入的数据集”来使你可以使用刚刚创建的数据源。最终,你还需要一个查询语句来抓取数据。对于SQL Server作为数据源来说,你可以使用本文或是存储过程选项。存储过程选项允许你调用数据库的存储过程,存储过程使得在多个报表间重用数据变得非常容易。接下来的选项,文本,可以通过写查询语句来抓取数据。表3-1是基于不同数据源类型的不同语句。

数据源类型 示例查询语句
Microsoft SQL Server
select c.AccountNumber

, soh.OrderDate

, sum(soh.TotalDue) as TotalDue

from Sales.SalesOrderHeader soh

inner join sales.Customer c on soh.CustomerID=c.CustomerID

where soh.OrderDate between @startDate and @endDate

group by c.AccountNumber, soh.OrderDate

Microsoft SQL Server Analysis Services
SELECT NON EMPTY

{ [Measures].[Sales Amount], [Measures].[Tax Amt] } ON COLUMNS

, NON EMPTY { ([Dim Customer].[First Name].[First Name].ALLMEMBERS

* [Dim Customer].[Last Name].[Last Name].ALLMEMBERS ) } ON ROWS

FROM [Adventure Works DW]

XML
<Query>

<Method

Name="DictionaryList"

Namespace="http://services.aonaware.com/webservices">

</Method>

<ElementPath IgnoreNamespaces="true">*</ElementPath>

</Query>


表1.基于不同数据源类型的不同查询语句

 

一个完整的数据集属性查询窗口见图3-6.

  6

    图3-6.数据集属性查询窗口

 

    在数据集属性窗口的菜单窗格中,你可以看到其他四个选项:字段、选项、筛选器和参数。点击字段选项来确保你的查询语句正确,字段是否可用。如果这个步骤出现问题,则字段选项将会提示错误信息或者不显示任何字段。选项可以设置对数据集调整的一些参数,包括:排序规则、区分大小写、区分重音、区分假名类型、区分半角。过滤选项允许通过限制条件来限制那些行显示在报表中,这些限制条件包括:=,like,Top N,between。最后,参数选项允许你修改传送到数据源的查询,查询参数是基于数据源的协议的,而参数值可以基于报表运行时用户的输入数据。参数窗口可以在图3-7中看到。我们将会在后续文章中讨论用户输入参数。

    7

    图3-7.数据集属性参数窗口

 

    在点击确定创建完数据集后,我们就能在报表数据窗格中看到它了。点击+号展开树状菜单就可以看到可用的字段了,如图3-8所示。你将会在下一篇关于tablix报表项的文章中用到它。

    8

     图3-8.最终完成后在报表数据中的数据源和数据集

 

接下来呢?

    目前为止,我们已经连接到数据源并知道我们需要用到的报表元素。我们也可以在其它报表中使用这个报表所创建的共享信息。对于大BOSS所需要的报表来说,你还需要知道展示哪些数据,分组行和列,按某些命名规则排序,以及按特定格式展现数据。你将在本系列文章的下一篇Tablix指南中学到。

-----------------------------------------------------------------------

原文链接:Data Everywhere - Level 3 in the Stairway to Reporting Services

Translated By:CareySon

分类: SSRS
标签: SSRS



本文转自CareySon博客园博客,原文链接http://www.cnblogs.com/CareySon/archive/2012/02/28/2371316.html如需转载请自行联系原作者


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
7月前
|
数据采集 运维 监控
序列挖掘模式算法:提升企业电脑监控软件安全性的创新路径
当谈到提升企业电脑监控软件的安全性时,咱们不妨考虑一下序列模式挖掘算法,它们其实就是电脑监控软件的&quot;秘密武器&quot;,能够帮助我们识别和分析用户以及系统行为中的种种奇奇怪怪的模式。这可不是为了解密谜题,而是为了更好地抓住那些异常活动和潜在的安全威胁。下面我们来看看如何用序列模式挖掘算法来提高企业电脑监控软件的安全性——
128 0
|
10月前
|
消息中间件 NoSQL Java
订单服务------技术点及亮点1
订单服务------技术点及亮点
69 0
|
10月前
|
数据库
订单服务------技术点及亮点2
订单服务------技术点及亮点2
40 0
|
11月前
|
边缘计算 编解码 5G
《2022中国云游戏行业认知与观察》——第二章、云游戏应用场景与技术实践——2.1 云端游 & 云手游:定义全新业务模式 提升游戏 ROI——2.1.1 应用案例:《战舰世界》云游戏版,云端海战一触即发!
《2022中国云游戏行业认知与观察》——第二章、云游戏应用场景与技术实践——2.1 云端游 & 云手游:定义全新业务模式 提升游戏 ROI——2.1.1 应用案例:《战舰世界》云游戏版,云端海战一触即发!
155 0
|
安全
罗兰贝格:详解大变局时代消费企业高速增长逻辑
基于对大变局时代企业精益化用户经营的必要性和紧迫性分析,用传统的零售理念结合新消费时代下的思维模式,剖析大变局时代“赢家”高速增长的底层逻辑,并通过大量的实证分析和前瞻性洞察,提出企业结合自身发展阶段和业务模式,因地制宜地实现高速增长并走向基业长青的发展之道。
1323 0
罗兰贝格:详解大变局时代消费企业高速增长逻辑
|
SQL 存储 BI
【译】初识SSRS ----通向报表服务的阶梯系列(一)
SQL Server Reporting Services是什么        你的经理走出电梯径直朝你走了过来。他以前从来没有来过DBA的办公室,你狐疑的瞥了他一眼,然后埋头开始疯狂的敲打键盘,希望他会将出现的问题责备到电脑上。
3137 0

热门文章

最新文章