原文:[翻译]初识SQL Server 2005 Reporting Services Part 3

  这是关于SSRS文章中四部分的第三部分。Part 1提供了一个创建基本报表的递阶教程。Part 2展现了为制作动态报表所用到的SSRS2005的核心特性和功能。这一部分中我们将把注意力转向SSRS中的图表控件。

  微软的图表控件其实是Dundas 图标控件的按比例缩小版。不管是不是缩小版,我敢说这个的确非常好用。对好多人来说,他们使用SSRS就是看中了这个控件。

  在这篇中我们要创建一个带有图表控件的报表,我们将看到不同的显示选项以及一些非常酷的美化技巧。

开始

  现在我们已经到了Part 3了,所以我觉得你应该把所需软件安装好了。就是已经创建了ReportingDemo数据库,懂得创建基本报表,数据源和数据集。如果你觉得还有些生疏,那么就返回到Part 1重头再来。

  笔记:

  可以下载源码文件。

  编辑笔记:

  Part 1中的创建数据库脚本没有Purchase表,所以这里还需要运行ReportingDemo_Update来创建它。

创建一个基本报表

  先来创建一个报表服务器项目。添加共享数据源指向数据库。添加报表MyChart。用下面的查询创建数据集,这个查询是关于购买的各种信息。

  SELECT

   Purchase.PurchaseID,

   Purchase.CustomerID,

  Purchase.PurchaseDate,

  Purchase.PurchaseType,

  Purchase.PurchaseAmount,

  Customer.FirstName + ' ' + Customer.LastName AS CustomerName

 FROM Purchase INNER JOIN

 Customer

 ON Purchase.CustomerID = Customer.CustomerID

  在报表设计器中,将报表拖大一些这样我们就有足够的控件放置图表控件。应该是这个样子的:

  打开数据集选项卡。将PurchaseAmount拖拽进图表顶部的“将数据字段托至此处”。将PurchaseDate字段拖拽进底部的“将类别字段拖至此处”。

  现在我们就设计了一个可以显示某天顾客所购买物品的之和。保存并运行报表:

  如果你的需要很基本,那图标控件这样就可以满足。

图表类型

  在深入探究图标控件之前,需要注意的是可以有不同的图表类型。在布局选项卡中右击选择图表类型就可以了。这里我们选择平滑折线图。

添加序列

  数据字段和类别字段构成了图表的横坐标和竖坐标。图表控件也可以在同一个图表中显示不同层次的数据信息。每个层次就成为一个序列。在这个例子中,购买数据关联了两种不同的顾客。将CustomerName字段拖拽进“将序列字段拖至此处”。预览就会发现图表显示了每位顾客的消费模式。

设置报表属性

  开始之前,把报表类型变回简单条形图。右击图表选择属性。在这里可以设置图表属性也可以对数据显示方式进行设置。注意其实你可以人工设置关于数据,分组,和序列,我们当时只是简单的进行拖拽操作。现在让我们分别来看看属性对话框中的各个选项卡。

请注意当我们看这些选项的时候,到处可以见“fx”按钮。这个的功能就是提供一个表达式输入而不仅仅是写死的代码,就像我们在Part 2中描述的那样。

常规选项卡

  在这个选项卡中你可以给图标控件进行命名操作。也可以设置图标类型。单击图表区样式可以设置图表的背景。绘图区样式可以更改报表的基本属性。还可以给图表添加标题,可以单击标题右边的按钮设置其属性。另一个很巧妙的地方是可以应用调色板到图表。单击图表区样式中的填充选项卡,设置颜色为Thistle,渐变为TopBottom,就是这么简单。

数据选项卡

  数据选项卡可以很容易的人工设置到底要显示哪些数据还有怎样显示。就想图表中一样,有四个数据区域:值(在拖拽中叫做数据区域),分组和序列。在不同的区域你可以添加或移除条目。单击编辑按钮可以针对每个组进行单独设置。

  现在让我们仔细看一下值属性。单击值区域旁边的编辑按钮,就可以看到编辑图表值对话框。在这里你可以对要显示的数据进行设置,也可以给序列命名。在外观选项卡可以设置标记,设置序列样式。点标签可以对网格中的点设置标签。操作选项卡可以跳转到报表的不同地方,其实是任何合法的URL。URL可以使写死的代码或者表达式。

  现在打开点标签,设置显示点标签。这样在图的右边就会显示出来具体数值信息。将表达式设置为=Fields!PurchaseAmount.Value,设置格式为C。这样就会以X.00显示。你可以设置标签样式来设定标签的字体和颜色。

X轴和Y轴

  这两个选项卡可以设置XY的显示信息。你可以设置一个显示在图表区域之外的标题。也可以控制网格线和标签格式。我们的X轴是购买日期。让我们通过设置格式代码为d来进行日期格式设置为mm/dd/yyyy。选择上侧边距和翻转复选框。这样就会显示一些边距,也会在顶部显示数值。在Y轴选中交错带,可以改变图表的背景显示。

图例

  首先你可以选择要不要显示图例,也可以设置图例的布局,可以是列,行或表。你使用的图例布局将会决定布局是不是最好的。例如,如果你将图例放在底部位置,你就可能想使用行。图例样式对话框可以设置图例样式。

三维效果

  这个选项卡可以设置令人兴奋的3D效果。

我很喜欢这个选项卡。我可以在这玩儿上几个小时。大部分默认设置已经很棒了。四个控制图表效果的值是水平旋转,透视,墙厚度,垂直旋转。通过这些值来探索到底能做什么是很好的事情。我建议你从默认开始。然后试着滑动数值来看看图表是不是还像以前那样可读。如果你按照下面的进行设置,会非常好。

  在这个例子中使用如下设置:

水平旋转

65º

透视

0%

墙厚度

5%

垂直旋转

-5º

  你还可以设置底纹信息。

筛选器

  这里显示了怎样使用数据集中的列和表达式进行过滤显示的数据。这在单报表中显示多图表中很有用。重要的是可以在已存在的数据集中选择子集。例如,你可以从同样数据集中选择不同图表显示不同购买类型。

  这里让我们显示两个图表。一个是显示Internet Sales,另一个显示In Store。首先复制一份图表然后粘贴。上面的设置过滤为如下:

Expression

Operator

Value

=Fields!PurchaseType.Value

=

Internet

  下面的如下设置:

Expression

Operator

Value

=Fields!PurchaseType.Value

=

In Store

报表

  转到预览查看最终效果,可以看到我们创建了一个显示两个3D图表的单报表,而且数据源只有一个。这篇文章给我们简单展示了图表控件,可以将这些例子映射到你的应用当中。

总结

  希望这篇文章能让你更了解图表控件。在其丰富的特性和SSRS通过表达式设置几乎任何属性的能力上,我们可以看到微软在报表工具中确实发布了一个非常有实力和友好的组件。

  在这个系列的Part4我们将会转到RDL(报表定义语言),还要看看报表设计器。

[翻译]初识SQL Server 2005 Reporting Services Part 3的更多相关文章

  1. [翻译]初识SQL Server 2005 Reporting Services Part 4

    原文:[翻译]初识SQL Server 2005 Reporting Services Part 4 这一篇是关于SQL Server 2005 Reporting Services四篇文章中最后一篇 ...

  2. [翻译]初识SQL Server 2005 Reporting Services Part 2

    原文:[翻译]初识SQL Server 2005 Reporting Services Part 2 在Part 1文章中我们对SQL Server Reporting Services 2005(S ...

  3. [翻译]初识SQL Server 2005 Reporting Services Part 1

    原文:[翻译]初识SQL Server 2005 Reporting Services Part 1 构建和部署基本报表 如果曾经存在一项工作使得“真正的”开发者给他的上司泡蘑菇,那就是构建报表.毕竟 ...

  4. Display Database Image using MS SQL Server 2008 Reporting Services

    原文 Display Database Image using MS SQL Server 2008 Reporting Services With the new release of MS SQL ...

  5. [转]SQL Server 2005 Integration Services (SSIS) (3) - Business Intelligence Development Studio

    本文转自:http://blog.csdn.net/me_online/article/details/1546281 三,SQL Server Integration Services 开发环境– ...

  6. SQL SERVER 2008 Reporting Services 的一些小问题集合

    实验环境:服务器  Windows Server  2008 R2 Standard 64bit                   数据库  SQL SERVER 2008 R2 Standard ...

  7. 实现SQL Server 2008 Reporting Services匿名访问报表有两种方法

    一.通过修改SQL Server 2008的配置文件,去掉Windows的验证. 1.首先我们找到SQL安装目录下的两个Web.config配置文件,默认安装目录分别是(C:\Program File ...

  8. SQL Server 2005 Integration Services (SSIS)数据源之MySQL

    一安装MySQL数据库的ODBC驱动 下载MySQL Connector ODBC 3.51.rar 单击setup按默认安装即可! 如下图所示,在ODBC数据源管理器中看到“MySQL ODBC 3 ...

  9. 安装 SQL Server 2005 的硬件和软件要求(官方全面)

    SQL Server 2005 安装要求 本主题介绍了安装 SQL Server 205 的硬件和软件要求,以及查看安装文档的说明. 硬件和软件要求(32 位和 64 位) 访问 SQL Server ...

随机推荐

  1. 在ABP项目的应用Castle Windsor

    Castle Windsor常用介绍以及其在ABP项目的应用介绍 最近在研究ABP项目,有关ABP的介绍请看阳光铭睿 博客,ABP的DI和AOP框架用的是Castle Windsor下面就对Castl ...

  2. PLSQL:[1]plsql中文乱码,显示问号

    PLSQL运行sql语句,不识别中文.输出的中文标题显示成问号?? ?? 工具/原料 PLSQL Developer 9 方法/步骤 1 登陆plsql,运行sql语句.输出的中文标题显示成问号??? ...

  3. oracle从备份归档日志的方法集中回收

    oracle从备份集中抓出归档日志方法 在大连医院遇到这个问题,数据库为归档状态,但归档完成后rman通过crontab自己主动备走归档日志并删除存在系统上的归档日志文件.在RealSync程序停止一 ...

  4. Rabbitmq 加入用户訪控制台(guest无法登陆控制台问题)

    对于rabbitmq的guest用户无法訪问控制台的问题,是由于rabbitmq做了安全措施,禁止guest登陆控制台.须要我们自己创建用户进行登陆 1,运行加入用户命令 rabbitmqctl ad ...

  5. 比ORA-24777: 我不使用不可移植数据库链接更郁闷的事情达成一致

    现场有一个同步误差,内容如下面:    java.sql.BatchUpdateException: ORA-24777: 不同意使用不可移植的数据库链路    at oracle.jdbc.driv ...

  6. 如何使用iOS 8 指纹识别,代码、示例

    像想象,iOS 8指纹是非常容易使用的.只是需要能够获得一个接口,弹出屏幕模式框,随着app store在相同的. 直接上的条形码.以下代码是从复制Apple官方文件. 加入LocalAuthenti ...

  7. HDU 5052 Yaoge’s maximum profit 光秃秃的树链拆分 2014 ACM/ICPC Asia Regional Shanghai Online

    意甲冠军: 特定n小点的树权. 以下n每一行给出了正确的一点点来表达一个销售点每只鸡价格的格 以下n-1行给出了树的侧 以下Q操作 Q行 u, v, val 从u走v,程中能够买一个鸡腿,然后到后面卖 ...

  8. Echarts Jqplot嵌extjs4 windows 装配方法

    js组件绘图终于是画在一个指定id的div或dom元素中. 在项目中有可能须要画在 Extjs容器中,研究了一下,能够通过下面的思路实现,方法跟大家共享下: 1.首先做一个容器,把此内容加入到wind ...

  9. 第7章 桥接模式(Bridge Pattern)

    原文 第7章 桥接模式(Bridge Pattern) 定义: 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能 ...

  10. 于Eclipse在建筑cocos2d-x的Android开发环境(避免cygwin)

    于Eclipse在建筑cocos2d-x的Android开发环境(避免cygwin) 在袭击几天学习Android开发之后,我開始转向cocos2d-x的Android开发了.因为自己曾经有了解过co ...