条形图以水平方式显示类别数据。 这有助于:
提高长类别名称的可读性。
提高绘制为值的时间的可理解性。
比较多个序列的相对值。
下图显示了将要创建的条形图,其中按字母顺序排列的前五名销售人员在2008年和2009年的销售额。
学习内容
本教程介绍如何执行以下作:
注释
在本教程中,将向导的多个步骤合并为一个过程。 有关如何浏览到报表服务器、创建数据集和选择数据源的分步说明,请参阅本系列中的第一篇教程:教程:创建基本表报表(报表生成器)。
完成本教程的估计时间:15 分钟。
要求
有关要求的详细信息,请参阅教程的先决条件(报表生成器)。
1. 使用图表向导创建图表报表
在 “入门 ”对话框中,创建嵌入数据集,选择共享数据源,并使用图表向导创建条形图。
注释
在本教程中,由于查询包含了数据值,因此它不需要外部数据源。 这样,查询就会非常长。 在业务环境中,查询不会包含数据。 本教程中的查询仅供学习使用。
创建新的图表报告
依次单击“ 开始”、“ 程序”、“ Microsoft SQL Server 2012 报表生成器”,然后单击“ 报表生成器”。
此时将显示 “入门” 对话框。
注释
如果未显示 “入门 ”对话框,请单击“报表生成器”按钮,然后单击“ 新建”。
在左窗格中,确认已选中 “新建报表” 。
在右窗格中,单击“ 图表向导”。
在“ 选择数据集 ”页上,单击“ 创建数据集”,然后单击“ 下一步”。
在“ 选择数据源连接 ”页上,选择现有数据源或浏览到报表服务器并选择数据源,然后单击“ 下一步”。 可能需要输入用户名和密码。
注释
只要您具有足够的权限,则选择哪一个数据源并不重要。 您将不会从数据源中获取数据。 有关详细信息,请参阅 “获取数据连接(报表生成器)的替代方法”。
在 “设计查询 ”页上,单击“ 编辑为文本”。
将以下查询粘贴到查询窗格中:
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(可选)单击“运行”按钮(!)查看图表将基于的数据。
单击 “下一步” 。
2.选择图表类型
可以从各种预定义图表类型中进行选择。
插入柱形图
在“选择图表类型”页上,柱形图为默认图表类型。
单击栏,然后单击下一步。
在 “排列图表字段 ”页上, “可用字段 ”窗格中有四个字段:FirstName、LastName、SalesYear2009 和 SalesYear2008。
将 LastName 拖动到“类别”窗格。
将 SalesYear2009 拖到“值”窗格。 SalesYear2009 表示 2009 年每个销售人员的销售额。 “值”窗格显示
[Sum(SalesYear2009)],因为该图表显示的是每个产品的销售总额。将 SalesYear2008 拖到 SalesYear2009 下的“值”窗格。 SalesYear2008 表示 2008 年每个销售人员的销售额。
单击 “下一步” 。
在“ 选择样式 ”页上的“样式”窗格中,选择样式。
样式指定字体样式、一组颜色和边框样式。 选择样式时,“预览”窗格将显示具有该样式的图表示例。
单击“完成”。
图表将添加到设计图面中。
单击图表以显示图表句柄。 拖动该图表的右下角以扩大该图表。
单击 “运行” 以预览报表。
报表显示 2008 年和 2009 年每个销售人员的销售额条形图。 条形图的长度对应于总销售额。
3.修改垂直轴上名称的显示
默认情况下,垂直轴上只显示某些值。 您可以更改图表以显示所有类别。
在条形图的类别轴上展示所有销售人员
切换到报表设计视图。
右键单击纵坐标轴,然后单击 “纵坐标轴属性”。
在“轴范围和间隔”下的“间隔”框中,键入 1 。
单击 “确定” 。
右键单击垂直 轴标题 并清除 “显示轴标题 ”复选框。
单击 “运行” 以预览报表。
注释
如果无法阅读垂直轴上的销售人员姓名,则可以增加图表的高度,或更改轴标签的格式选项。
在垂直轴上显示姓氏和名字
可以更改类别表达式以将每个销售人员的姓氏包含在名字之后。
更改类别表达式
切换到报表设计视图。
双击图表以显示“图表数据”窗格。
在 “类别组” 区域中,右键单击“[LastName]”,然后单击“ 类别组属性”。
在“标签”中,单击表达式(Fx)按钮。
键入以下表达式:
=Fields!LastName.Value & ", " & Fields!FirstName.Value此表达式将连接姓氏、逗号和名字。
单击 “确定” 。
单击 “确定” 。
单击 “运行” 以预览报表。
如果在运行报表时未显示名字,则可以手动刷新数据。 仍处于预览模式时,在导航组中的“运行”选项卡上,单击“刷新”。
注释
如果无法阅读垂直轴上的销售人员姓名,则可以增加图表的高度,或更改轴标签的格式选项。
4.更改垂直轴上名称的排序顺序
对图表上的数据进行排序时,将更改分类轴上的值顺序。
按条形图上的字母顺序对名称进行排序
切换到报表设计视图。
双击图表以显示“图表数据”窗格。
在 “类别组” 区域中,右键单击“[LastName]”,然后单击“ 类别组属性”。
单击 “排序” 。 “更改排序选项”页将显示排序表达式的列表。 默认情况下,此列表具有一个与原始类别组表达式相同的排序表达式。
在“排序依据”中,单击表达式(Fx)按钮。
键入以下表达式:
=Fields!LastName.Value & ", " & Fields!FirstName.Value单击 “确定” 。
返回“ 类别组属性 ”页,在“ 订单 ”下拉列表中,选择 “Z 到 A”。这将按字母顺序进行反向选择,使名称按从上到下的顺序显示。
单击 “确定” 。
单击 “运行” 以预览报表。
水平轴上的名称按相反顺序排序,顶部为 Alerca ,底部为 Zeng 。
5. 移动图例
为了提高图表值的可读性,可能需要移动图表图例。 例如,在条形图中水平显示条形图中,可以更改图例的位置,使其位于图表区域上方或下方。 这为条形图提供了更多的水平空间。
在条形图的图表区域下方显示图例
切换到报表设计视图。
右键单击图表上的图例。
选择“图例属性”。
对于“图例位置”,请选择其他位置。 例如,将图例位置设置为底部中间。
如果将图例置于图表的顶部或底部,则图例的布局将会从垂直改为水平。 可以从“布局”下拉列表中选择不同的布局。
单击 “确定” 。
单击 “运行” 以预览报表。
为图表命名
更改条形图的图表区域上方的标题
切换到报表设计视图。
选择图表顶部的图表标题 ,然后键入以下文本:2008年和2009年的销售数据。
单击文本之外的任意位置。
单击 “运行” 以预览报表。
7. 设置水平轴的格式和标签
默认情况下,水平轴采用常用格式显示值,将自动调整为适合图表的大小。
格式化水平轴上的数字
切换到报表设计视图。
单击图表底部的水平轴以将其选中。
在功能区上的“ 开始 ”选项卡上的“ 数字 ”组中,单击“ 货币 ”按钮。 水平轴标签将更改为货币。
(可选)删除小数位数。 在 “货币” 按钮附近,单击“ 减少小数 ”按钮两次。
右键单击水平轴,然后单击 “水平轴属性”。
在数字选项卡上,选择以千显示值。
单击 “确定” 。
右键单击 “坐标轴标题 ”,然后单击“ 轴标题属性”。
在“ 标题”文本框中 ,键入 “销售额数千 ”,然后单击“ 确定”。
单击 “运行” 以预览报表。
报表将水平轴上的销售额显示为货币(以千为单位),并且没有十进制数字。
8. 添加筛选器以显示前五个值
可以向图表添加筛选器,以指定数据集中哪些数据要包含于图表中或排除在图表外。
添加筛选器并显示前五个值
切换到报表设计视图。
双击图表以显示“图表数据”窗格。
在 “类别组” 区域中,右键单击“[LastName]”字段,然后单击“ 类别组属性”。
单击“ 筛选器”。 “更改筛选器”页可以显示筛选器表达式的列表。 默认情况下,此列表为空。
单击 添加。 此时将显示一个新的空白筛选器。
在 表达式中,键入 [Sum(SalesYear2009)] 。 这会创建基础表达式,你可以在单击 fx 按钮时看到该表达式
=Sum(Fields!SalesYear2009.Value)。验证确保数据类型是“文本”。
在“运算符”中,从下拉列表中选择“前 N 个” 。
在 “值”中,键入以下表达式: =5
单击 “确定” 。
单击 “运行” 以预览报表。
如果在运行报表时未筛选结果,则可以手动刷新数据。 在导航组中的“运行”选项卡上,单击“刷新”。
该图表显示 2009 年销售数据中的前五名销售人员名称。
9. 添加报表标题
添加报表标题
在设计图面上,单击 单击以添加标题。
键入 “销售条形图”,按 Enter,然后键入 2009 年前五名卖家,如下所示:
销售条形图
2009 年最畅销的五个产品
选择 “销售条形图”,然后单击 “粗体 ”按钮。
选择 2009 年的前五名卖家,然后在“开始”选项卡上的“字体”部分中,将字号设置为 10。
(可选)可能需要使标题文本框更高,以适应两行文本。
此标题将显示在报表顶部。 如果未定义页眉,则报表正文顶部的项等效于报表标题。
单击 “运行” 以预览报表。
10. 保存报表
保存报表
切换到报表设计视图。
在 “报表生成器 ”按钮中,单击“ 另存为”。
在 “名称”中,键入 “销售条形图”。
单击“ 保存”。
报表将保存在报表服务器上。
后续步骤
你已成功完成向报表中添加条形图教程。 若要了解有关图表的详细信息,请参阅图表(报表生成器和 SSRS)和迷你图和数据条(报表生成器和 SSRS)。