在本教程中,您将基于示例销售数据创建一个基本表格报告,然后将迷你图表添加到表格中的一个单元格中。
本教程中创建的报表的增强版本可用作示例 SQL Server 2014 报表生成器报表。 有关下载此示例报表和其他报表的详细信息,请参阅 报表生成器示例报表。 下图显示了类似于要创建的示例报表。
视频 How to: Create a Sparkline in a Table (Report Builder Video) 演示了如何使用迷你图创建类似的报表。
学习内容
本教程将教您如何执行以下步骤:
其他可选步骤
完成本教程的估计时间:30 分钟。
要求
有关要求的详细信息,请参阅教程的先决条件(报表生成器)。
创建包含表格的报表
创建报表
依次单击“ 开始”、“ 程序”、“ Microsoft SQL Server 2012 报表生成器”,然后单击“ 报表生成器”。
此时会打开“ 入门 ”对话框。
注释
如果未显示“ 入门 ”对话框,请在 “报表生成器 ”按钮中单击“ 新建”。
在左窗格中,确认已选中 “新建报表” 。
在右窗格中,单击“ 表”或“矩阵向导”。
在“ 选择数据集 ”页上,选择“ 创建数据集”,然后单击“ 下一步”。 将打开“选择数据源的连接”页面。
注释
本教程不需要特定数据;它只需要连接到 SQL Server 2014 数据库。 如果已经具有在“数据源连接”下列出的某一数据源连接,则可以选择该连接并且转到步骤 10。 有关详细信息,请参阅 “获取数据连接(报表生成器)的替代方法”。
单击新建。 此时将打开 “数据源属性” 对话框。
在 “名称”中,键入 “产品销售”,为数据源命名。
在“选择连接类型”中,确认已选择“Microsoft SQL Server” 。
在 连接字符串中,键入以下文本:
数据源=<servername>
表达式 <服务器名称>(例如 Report001)指定安装了 SQL Server 数据库引擎实例的计算机。 由于报表数据不是从 SQL Server 数据库中提取的,因此不需要包含数据库的名称。 指定服务器上的默认数据库用于对查询进行分析。
单击 “凭据” 。 输入访问外部数据源所需的凭据。
单击 “确定” 。
您回到了 “选择数据源的连接” 页面。
若要验证是否可以连接到数据源,请单击“ 测试连接”。
将显示消息“已成功地创建连接”。
单击 “确定” 。
单击 “下一步” 。
2. 在表向导中创建查询
在报表中,可以使用具有预定义查询的共享数据集,也可以创建仅在报表中使用的嵌入数据集。 在本教程中,你将创建一个嵌入的数据集。
注释
在本教程中,由于查询包含了数据值,因此它不需要外部数据源。 这样,查询就会非常长。 在业务环境中,查询不会包含数据。 本教程中的查询仅供学习使用。
创建查询
在“设计查询”页中,关系查询设计器处于打开状态。 在本教程中,将使用基于文本的查询设计器。
单击“ 编辑为文本”。 基于文本的查询设计器将显示查询窗格和结果窗格。
将以下 Transact-SQL 查询粘贴到“查询”框中。
SELECT CAST('2010-01-04' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity UNION SELECT CAST('2010-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2010-01-10' AS date) as SalesDate, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2010-01-04' AS date) as SalesDate, 'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(1056.00 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2010-01-05' AS date) as SalesDate, 'Accessories' as Subcategory, 'Slim Digital' as Product, CAST(1380.00 AS money) AS Sales, 18 as Quantity UNION SELECT CAST('2010-01-05' AS date) as SalesDate,'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(780.00 AS money) AS Sales, 26 as Quantity UNION SELECT CAST('2010-01-07' AS date) as SalesDate, 'Accessories' as Subcategory, 'Budget Movie-Maker' as Product, CAST(3798.00 AS money) AS Sales, 9 as Quantity UNION SELECT CAST('2010-01-08' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Budget Movie-Maker' as Product, CAST(10400.00 AS money) AS Sales, 13 as Quantity UNION SELECT CAST('2010-01-09' AS date) as SalesDate, 'Camcorders' as Subcategory, 'Budget Movie-Maker' as Product, CAST(3000.00 AS money) AS Sales, 60 as Quantity UNION SELECT CAST('2010-01-10' AS date) as SalesDate, 'Digital' as Subcategory, 'Budget Movie-Maker' as Product, CAST(7234.50 AS money) AS Sales, 39 as Quantity UNION SELECT CAST('2010-01-06' AS date) as SalesDate, 'Digital' as Subcategory, 'Carrying Case' as Product, CAST(10836.00 AS money) AS Sales, 84 as Quantity UNION SELECT CAST('2010-01-07' AS date) as SalesDate, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(2550.00 AS money) AS Sales, 17 as Quantity UNION SELECT CAST('2010-01-04' AS date) as SalesDate, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity UNION SELECT CAST('2010-01-08' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'Slim Digital' as Product, CAST(18530.00 AS money) AS Sales, 34 as Quantity UNION SELECT CAST('2010-01-06' AS date) as SalesDate, 'Digital SLR' as Subcategory, 'Slim Digital' as Product, CAST(26576.00 AS money) AS Sales, 88 as Quantity在查询设计器工具栏上,单击“运行”(!)。
该查询运行并显示 SalesDate、 Subcategory、 Product、 Sales和 Quantity字段的结果集。
单击 “下一步” 。
在“排列字段”页上,将 Sales 拖到“值”中 。
Sales 由 Sum 函数聚合。 值为 [Sum(Sales)]。
将 Product 拖到“行组”中 。
将 SalesDate 拖到“列组”中 。
单击 “下一步” 。
在“选择布局”页的“选项”下,确认已选择“显示小计和总计” 。
向导的“预览”窗格将显示包含有三行的表。 运行报表时,每行将以以下方式显示:
为了显示列标题,第一行将仅在表格中出现一次。
第二行将为每个产品重复一次,并显示产品名称、每日总计和行总计。
第三行将显示一次,表将显示总计。
单击 “下一步” 。
在“ 选择样式 ”页上的“ 样式 ”窗格中,选择 “石板”。
“预览”窗格显示具有该样式的表格示例。
单击“完成”。
表将添加到设计图面中。 此表有三列和三行。
在“分组”窗格中查找。 如果看不到“分组”窗格,请在 “视图 ”菜单上单击“ 分组”。 “行组”窗格显示一个行组:“Product”。 “列组”窗格显示一个列组:“SalesDate”。 详细信息数据是数据集查询检索的所有数据。
单击 “运行” 以预览报表。
3. 添加迷你图
向表格添加迷你图
单击“ 设计 ”返回到设计视图。
选择表中的“Total”列。
右键单击,指向插入列,然后单击左。
在新列中,右键单击 [Product] 行内,指向 插入 栏选项卡,然后单击 迷你图。
确保选中列中的第一个迷你图,然后单击确定。
单击迷你图以显示“图表数据”窗格。
单击“值”框中的加号(+),然后单击“ 销售”。
“Sales”字段中的值现在是迷你图的值。
单击“类别组”框中的加号(+),然后单击“ SalesDate”。
单击 “运行” 以预览报表。
请注意,表格中每一行都有迷你图表,但这些图表不准确。 图表中的条形图没有对齐。 在第二行数据中只有四个条形,因此,这些条比第一行中的条宽,因为第一行中有六个条形。 您不能比较每天每个产品的值。 他们需要彼此对齐。
另请注意,对于每一行,该行最高的条形是决定该行高度的条形。 这也是误导性的,因为每行的最大值不相等:预算 Movie-Maker 的最大值是 10,400 美元,但 Slim Digital 的最大值是 26,576 美元,比大两倍多。 并且,这两行的最大的条形大约为相同高度。 这还需要与其他迷你图一起缩放。
4. 将迷你图垂直和水平对齐
迷你图在使用不同度量时很难阅读。 每个迷你图的水平轴和垂直轴都需要与其他部分匹配。
设置表中迷你图的对齐方式
单击“ 设计 ”返回到设计视图。
右键单击微型图表,然后单击 垂直坐标轴属性。
选中“对齐轴”复选框。
Tablix1 显示在列表中。 这是唯一的选择。 该选项设置在各迷你图中条形相对于其他条形的高度。
单击 “确定” 。
右键单击迷你图,然后单击 “水平轴属性”。
选中“对齐轴”复选框。
Tablix1 显示在列表中。 这是唯一的选择。 该选项设置在各迷你图中条形相对于其他条形的宽度。 如果某些迷你图的条形数比其他迷你图少,则这些迷你图将具有缺失数据的空白空间。
单击 “确定” 。
单击“ 运行 ”再次预览报表。
请注意,所有条形图现在都与其他行中的条形对齐。
5. (可选) 将数据格式化为货币
默认情况下,“Sales”字段的汇总数据显示为常规数字。 请设置其格式,以使其显示货币形式的数字。 切换“占位符样式”,将格式化的文本框和占位符文本显示为示例值。
格式化货币字段
单击“ 设计 ”切换到设计视图。
单击 SalesDate 列中第二行(列标题行下)的单元格,然后拖动以选择包含
[Sum(Sales)]的所有单元格。在“ 开始 ”选项卡上的“ 数字 ”组中,单击“ 货币 ”按钮。 单元会更改为显示已设置好格式的货币。
如果区域设置为“英语(美国)”,则默认示例文本为 [ $12,345.00]。 如果未看到示例货币值,请单击“数字”组中的“占位符样式”,然后单击“示例值”。
单击 “运行” 以预览报表。
Sales 的摘要值被显示为货币。
6. (可选) 将数据格式化为日期
默认情况下,“SalesDate”字段同时显示日期和时间信息。 您可以设置其格式,使其只显示日期。
将日期字段的格式设置为默认格式
单击“ 设计 ”返回到设计视图。
单击包含
[SalesDate]的单元格。在功能区上的“ 开始 ”选项卡上的“ 数字 ”组中,从下拉列表中选择“ 日期”。
单元格会显示示例日期 [2000/1/31] 。 如果未看到示例日期,请单击“数字”组中的“占位符样式”,然后单击“示例值”。
单击 “运行” 以预览报表。
SalesDate 值以默认日期格式显示。
7. (可选) 更改列宽
默认情况下,表中的每个单元格都包含一个文本框。 在呈现页面时,文本框将垂直扩展以容纳文本。 在呈现的报表中,每个行将扩展到行中呈现的最高文本框的高度。 设计图面上行的高度不会影响呈现的报表中行的高度。
若要减少每个行占用的垂直空间量,请扩展列宽以容纳单个行的列中的文本框的预计内容。
更改列的宽度
单击“ 设计 ”返回到设计视图。
单击该表,使列和行句柄显示在表的上方和旁边。
沿此表的上方和一侧显示的灰色条状物就是列控点和行控点。
指向列控点之间的行,使光标变为双箭头。 拖动列,调整到所需大小。 例如,展开 Product 的列,使产品名称显示在一行上。
单击 “运行” 以预览报表。
8. (可选) 添加报表标题
报表标题将出现在报表的顶部。 可以将报表标题放在报表标题中,或者报表不使用报表标题,则放在报表正文顶部的文本框中。 在本教程中,将使用自动放置在报表正文顶部的文本框。
通过将不同的字体样式、大小和颜色应用于文本的短语和单个字符,可以进一步增强文本。 有关详细信息,请参阅“设置文本框中的文本格式”(报表生成器和 SSRS)。
添加报表标题
在设计图面上,单击 单击以添加标题。
键入 产品销售,然后单击文本框外部。
右键单击包含 产品销售 的文本框,然后单击 “文本框属性”。
在“ 文本框属性 ”对话框中,单击“ 字体”。
在“大小”列表中,选择“18pt”。
在 “颜色” 列表中,选择 “Maroon”。
选择“粗体”。
单击 “确定” 。
9. 保存报表
将报表保存到报表服务器或计算机上。 如果不将报表保存到报表服务器,则许多 Reporting Services 功能(如报表部件和子报表)不可用。
在报表服务器上保存报表
在 “报表生成器 ”按钮中,单击“ 另存为”。
单击“ 最近使用的网站和服务器”。
选择或键入有权保存报表的报表服务器的名称。
此时将显示“正在连接到报表服务器”消息。 当连接完成时,您将看到报表服务器管理员指定为报表默认位置的报表文件夹的内容。
在“名称”中,用“Product Sales”替换默认名称 。
单击“ 保存”。
报表即已保存至报表服务器。 连接到的报表服务器的名称将显示在窗口底部的状态栏中。
在您的计算机上保存报告
在 “报表生成器 ”按钮中,单击“ 另存为”。
单击 “桌面”、“ 我的文档”或 “我的计算机”,然后浏览到要保存报表的文件夹。
在“名称”中,用“Product Sales”替换默认名称 。
单击“ 保存”。
后续步骤
本教程总结了如何使用迷你图创建表报表的教程。 想了解更多有关迷你图的信息,请参阅迷你图和数据条(报表生成器和 SSRS)。