教程:向报表添加条形图(报表生成器)

条形图以水平方式显示类别数据。 这有助于:

  • 提高长类别名称的可读性。

  • 提高绘制为值的时间的可理解性。

  • 比较多个序列的相对值。

下图显示了您将创建的条形图,条形图中按字母顺序显示了 2008 和 2009 年度前五位销售人员的销售情况。

rs_BarChartTutorial

学习内容

在本教程中,您将学习如何执行下列操作:

  1. 使用图表向导创建图表

  2. 选择图表类型

  3. 在垂直轴上显示所有类别值

  4. 修改垂直轴上的显示名称

  5. 移动图例

  6. 移动图表标题

  7. 设置水平轴的格式和标签

  8. 添加筛选器以显示前五个值

  9. 添加报表标题

  10. 保存报表

注意注意

在本教程中,将向导的多个步骤合并为一个过程。 有关如何浏览到报表服务器、创建数据集和选择数据源的分步说明,请参阅这一系列教程中的第一个教程:教程:创建基本表报表(报表生成器)

本教程的预计学时:15 分钟。

要求

有关要求的详细信息,请参阅教程先决条件(报表生成器)

1.使用图表向导创建图表报表

从**“入门”**对话框中创建嵌入数据集,选择共享数据源,并使用图表向导创建条形图。

注意注意

在本教程中,由于查询包含了数据值,因此它不需要外部数据源。 这样,查询就会非常长。 在业务环境中,查询不会包含数据。 本教程中的查询仅供学习使用。

创建新的图表报表

  1. 单击**“开始”,依次指向“程序”**、Microsoft SQL Server 2012 Report Builder,再单击 “报表生成器”

    此时将显示**“入门”**对话框。

    注意注意

    如果未显示“入门”对话框,则单击“报表生成器”按钮,然后单击“新建”

  2. 在左窗格中,确认已选中**“新建报表”**。

  3. 在右窗格中,单击**“图表向导”**。

  4. 在**“选择数据集”页中,单击“创建数据集”,然后单击“下一步”**。

  5. 在**“选择数据源的连接”页上,选择现有数据源或浏览到报表服务器并选择一个数据源,然后单击“下一步”**。 您可能需要输入用户名和密码。

    注意注意

    只要您具有足够的权限,则选择哪一个数据源并不重要。 您将不会从数据源中获取数据。 有关详细信息,请参阅获取数据连接的备选方法(报表生成器)

  6. 在**“设计查询”页上,单击“编辑为文本”**。

  7. 将以下查询粘贴到查询窗格中:

    SELECT 'Luis' as FirstName, 'Alverca' as LastName, CAST(170000.00 AS money) AS SalesYear2009, CAST(150000. AS money) AS SalesYear2008
    UNION SELECT 'Jeffrey' as FirstName, 'Zeng' as LastName, CAST(210000. AS money) AS SalesYear2009, CAST(190000. AS money) AS SalesYear2008
    UNION SELECT 'Houman' as FirstName, 'Pournasseh' as LastName, CAST(150000. AS money) AS SalesYear2009, CAST(180000. AS money) AS SalesYear2008
    UNION SELECT 'Robin' as FirstName, 'Wood' as LastName, CAST(75000. AS money) AS SalesYear2009, CAST(175000. AS money) AS SalesYear2008
    UNION SELECT 'Daniela' as FirstName, 'Guaita' as LastName,  CAST(170000. AS money) AS SalesYear2009, CAST(175000. AS money) AS SalesYear2008
    UNION SELECT 'John' as FirstName, 'Yokim' as LastName, CAST(160000. AS money) AS SalesYear2009, CAST(195000. AS money) AS SalesYear2008
    UNION SELECT 'Delphine' as FirstName, 'Ribaute' as LastName, CAST(180000. AS money) AS SalesYear2009, CAST(205000. AS money) AS SalesYear2008
    UNION SELECT 'Robert' as FirstName, 'Hernady' as LastName, CAST(140000. AS money) AS SalesYear2009, CAST(180000. AS money) AS SalesYear2008
    UNION SELECT 'Tanja' as FirstName, 'Plate' as LastName, CAST(150000. AS money) AS SalesYear2009, CAST(160000. AS money) AS SalesYear2008
    UNION SELECT 'David' as FirstName, 'Bradley' as LastName, CAST(210000. AS money) AS SalesYear2009, CAST(180000. AS money) AS SalesYear2008
    UNION SELECT 'Michal' as FirstName, 'Jaworski' as LastName, CAST(175000. AS money) AS SalesYear2009, CAST(220000. AS money) AS SalesYear2008
    UNION SELECT 'Chris' as FirstName, 'Ashton' as LastName, CAST(195000. AS money) AS SalesYear2009, CAST(205000. AS money) AS SalesYear2008
    UNION SELECT 'Pongsiri' as FirstName, 'Hirunyanitiwatna' as LastName, CAST(175000. AS money) AS SalesYear2009, CAST(215000. AS money) AS SalesYear2008
    UNION SELECT 'Brian' as FirstName, 'Burke' as LastName, CAST(187000. AS money) AS SalesYear2009, CAST(207000. AS money) AS SalesYear2008
    
  8. (可选)单击“运行”按钮 (!),查看要用于图表的数据。

  9. 单击**“下一步”**。

2.选择图表类型

可以从各种预定义的图表类型中进行选择。

添加柱形图

  1. 在**“选择图表类型”**页上,柱形图为默认图表类型。

  2. 单击**“条形图”,然后单击“下一步”**。

    在**“排列图表字段”页上的“可用字段”**窗格中有 4 个字段: FirstName、LastName、SalesYear2009 和 SalesYear2008。

  3. 将 LastName 拖动到“类别”窗格。

  4. 将 SalesYear2009 拖动到“值”窗格。 SalesYear2009 表示每个销售人员在 2009 年的销售总额。 “值”窗格显示 [Sum(SalesYear2009)],因为该图表显示的是每个产品的销售总额。

  5. 将 SalesYear2008 拖动到 SalesYear2009 下的“值”窗格。 SalesYear2008 表示每个销售人员在 2008 年的销售总额。

  6. 单击**“下一步”**。

  7. 在**“选择样式”**页的“样式”窗格中,选择样式。

    样式指定字形、颜色集和边框样式。 选择样式时,“预览”窗格将显示具有该样式的图表的示例。

  8. 单击**“完成”**。

    图表将添加到设计图面中。

  9. 单击图表以显示图表控点。 拖动该图表的右下角以扩大该图表。

  10. 单击**“运行”**以预览报表。

报表将显示每个销售人员在 2008 和 2009 年度销售情况的条形图。 条形图的长度对应于总销售额。

3.修改垂直轴上的显示名称

默认情况下,垂直轴上只显示某些值。 您可以更改图表以显示所有类别。

沿条形图的类别轴显示所有销售人员

  1. 切换到报表设计视图。

  2. 右键单击垂直轴,然后单击**“垂直轴属性”**。

  3. 在**“轴范围和间隔”下的“间隔”**框中,键入 1。

  4. 单击“确定”。

  5. 右键单击垂直**“轴标题”并清除“显示轴标题”**复选框。

  6. 单击**“运行”**以预览报表。

注意注意

如果无法阅读垂直轴上的销售人员姓名,则可以增加图表的高度,或更改轴标签的格式选项。

在垂直轴上显示姓氏和名字

可以更改类别表达式以将每个销售人员的姓氏包含在名字之后。

更改类别表达式

  1. 切换到报表设计视图。

  2. 双击图表以显示**“图表数据”**窗格。

  3. 在**“类别组”区域中右键单击 [LastName],然后单击“类别组属性”**。

  4. 在“标签”中,单击表达式 (Fx) 按钮。

  5. 键入以下表达式:=Fields!LastName.Value & ", " & Fields!FirstName.Value

    此表达式将连接姓氏、逗号和名字。

  6. 单击“确定”。

  7. 单击“确定”。

  8. 单击**“运行”**以预览报表。

如果在运行报表时没有显示名字,则您可以手动刷新数据。 在仍处于预览模式时,在**“导航”组的“运行”选项卡中,单击“刷新”**。

注意注意

如果无法阅读垂直轴上的销售人员姓名,则可以增加图表的高度,或更改轴标签的格式选项。

4.更改垂直轴上的姓名的排序顺序

当您对图表中的数据进行排序时,您是在更改类别轴上的值的顺序。

按字母顺序对条形图中的姓名进行排序

  1. 切换到报表设计视图。

  2. 双击图表以显示**“图表数据”**窗格。

  3. 在**“类别组”区域中右键单击 [LastName],然后单击“类别组属性”**。

  4. 单击**“排序”**。 **“更改排序选项”**页将显示排序表达式的列表。 默认情况下,此列表具有一个与原始类别组表达式相同的排序表达式。

  5. 在“排序依据”中,单击表达式 (Fx) 按钮。

  6. 键入以下表达式:=Fields!LastName.Value & ", " & Fields!FirstName.Value

  7. 单击**“确定”**。

  8. 回到**“类别组属性”页,在“顺序”下拉列表中,选择“从 Z 到 A”**。 此时将选择反向字母顺序,以便按从上到下的顺序显示姓名。

  9. 单击“确定”。

  10. 单击**“运行”**以预览报表。

水平轴上的名称将按相反顺序进行排序,Alerca 位于顶部而 Zeng 位于底部。

5.移动图例

为了提高图表值的可读性,可能需要移动图表图例。 例如,在水平显示图条的条形图中,您可以更改图例的位置,将其放置在图表区的上方或下方。 这可为图条提供更大的水平空间。

在条形图的图表区下方显示图例

  1. 切换到报表设计视图。

  2. 右键单击图表上的图例。

  3. 选择**“图例属性”**。

  4. 对于**“图例位置”**,请选择其他位置。 例如,将图例位置设置为底部中间。

    如果将图例置于图表的顶部或底部,则图例的布局将会从垂直改为水平。 您可以从**“布局”**下拉列表中选择不同的布局。

  5. 单击“确定”。

  6. 单击**“运行”**以预览报表。

6.设置图表的标题

更改条形图的图表区上方的图表标题

  1. 切换到报表设计视图。

  2. 选择图表顶部的短语**“图表标题”**,然后键入以下文本:Sales for 2008 and 2009。

  3. 单击该文本的外部。

  4. 单击**“运行”**以预览报表。

7.设置水平轴的格式和标签

默认情况下,水平轴采用常用格式显示值,将自动调整为适合图表的大小。

设置水平轴上数字的格式

  1. 切换到报表设计视图。

  2. 沿图表底部单击水平轴,以选择它。

    在功能区的**“主文件夹”选项卡的“数字”组中,单击“货币”**按钮。 水平轴标签将更改为货币。

  3. (可选)删除小数位数。 在**“货币”按钮附近,单击两次“减少小数位数”**按钮。

  4. 右键单击水平轴,然后单击**“水平轴属性”**。

  5. 在**“数字”选项卡上,选择“以千为单位显示值”**。

  6. 单击“确定”。

  7. 右键单击**“轴标题”并单击“轴标题属性”**。

  8. 在**“标题文本”框中,键入 Sales in thousands,然后单击“确定”**。

  9. 单击**“运行”**以预览报表。

报表将在水平轴上以千为单位将销售额显示为货币,且没有小数位数。

8.添加筛选器以显示前五个值

可以向图表添加筛选器,以指定数据集中哪些数据要包含于图表中或排除在图表外。

添加筛选器并显示前五个值

  1. 切换到报表设计视图。

  2. 双击图表以显示**“图表数据”**窗格。

  3. 在**“类别组”区域中,右键单击 [LastName] 字段,然后单击“类别组属性”**。

  4. 单击**“筛选器”**。 **“更改筛选器”**页可以显示筛选器表达式的列表。 默认情况下,此列表是空的。

  5. 单击**“添加”**。 此时将显示一个新的空白筛选器。

  6. 在**“表达式”**中,键入 [Sum(SalesYear2009)]。 此时将创建基础表达式 =Sum(Fields!SalesYear2009.Value),您可以查看是否单击了 fx 按钮。

  7. 确保数据类型是**“文本”**。

  8. 在**“运算符”中,从下拉列表中选择“前 N 个”**。

  9. 在**“值”**中,键入以下表达式:=5。

  10. 单击“确定”。

  11. 单击**“运行”**以预览报表。

如果在运行报表时没有对结果进行筛选,则可以手动刷新数据。 在**“导航”组的“运行”选项卡中,单击“刷新”**。

图表将显示 2009 年销售数据中前五位销售人员的姓名。

9.添加报表标题

添加报表标题

  1. 在设计图面上,单击**“单击以添加标题”**。

  2. 键入 Sales Bar Chart,再按 Enter,然后键入 Top Five Sellers for 2009,内容如下所示:

    Sales Bar Chart

    Top Five Sellers for 2009

  3. 选择 Sales Bar Chart,并单击**“加粗”**按钮。

  4. 选择 Top Five Sellers for 2009,并在**“主文件夹”选项卡上的“字体”**部分中,将字号设置为 10

  5. (可选)您可能需要使“标题”文本框更高一些,以容纳两行文本。

    此标题将显示在报表的顶部。 当未定义页眉时,表体顶部的项等同于报表表头。

  6. 单击**“运行”**以预览报表。

10.保存报表

保存报表

  1. 切换到报表设计视图。

  2. 从**“报表生成器”按钮,单击“另存为”**。

  3. 在**“名称”**中,键入 Sales Bar Chart。

  4. 单击**“保存”**。

报表将保存在报表服务器上。

后续步骤

您已成功完成“向报表添加条形图”教程的学习。 若要了解有关图表的更多信息,请参阅图表(报表生成器和 SSRS)迷你图和数据条(报表生成器和 SSRS)

请参阅

概念

报表生成器入门

其他资源

教程(报表生成器)