在本教程中,你将在报表生成器中使用 Reporting Services 的分页报表创建一个带有火花线图的基本表。
迷你图和数据条是较小的简单图表,可以在很小的空间中传递很多信息,常常出现在 Reporting Services 报表的表格和矩阵中。 下图所示报表与你在此教程中创建的报表类似。
完成本教程的估计时间:30 分钟。
要求
有关要求的详细信息,请参阅教程先决条件(报表生成器)。
创建带表格的报告
启动报表生成器可以通过您的计算机、报表服务 Web 门户或者 SharePoint 集成模式进行。
将打开“新建报表或数据集”对话框。
如果未出现“新建报表或数据集”对话框,请在“文件”菜单中选择“新建”。
在左窗格中,确认已选中 “新建报表” 。
在右窗格中,选择“表或矩阵向导”。
在“选择数据集”页上,单击“创建数据集”“下一步” 。 “选择数据源的连接”页面将打开。
注意
本教程不需要具体数据;只需要与 SQL Server 数据库连接。 如果已经具有在“数据源连接”下列出的某一数据源连接,则可以选择该连接并且转到步骤 10。 有关详细信息,请参阅获取数据连接的备选方式(报表生成器)。
选择“新建”。 此时将打开 “数据源属性” 对话框。
在“名称”中,输入数据源的名称“Product Sales”。
在“选择连接类型”中,确认已选择“Microsoft SQL Server” 。
在“连接字符串”中,输入以下文本:
Data Source\=<servername>表达式
<servername>(例如 Report001)指定安装了 SQL Server 数据库引擎实例的计算机。 因为报表数据不是从 SQL Server 数据库提取的,所以不需要包括数据库的名称。 指定服务器上的默认数据库用于对查询进行分析。选择凭据。 输入访问外部数据源所需的凭据。
选择“确定”。
您已回到“选择数据源连接”页面。
要验证是否能连接到数据源,请选择“测试连接”。
将显示消息“已成功地创建连接”。
选择“确定”。
选择下一步。
2. 在表向导中创建报告的查询和表格布局
在报表中,可以使用具有预定义查询的共享数据集,也可以创建仅在报表中使用的嵌入数据集。 在本教程中,将创建一个嵌入数据集。
注意
在本教程中,由于查询包含了数据值,因此它不需要外部数据源。 因此这个查询会变得很长。 在业务环境中,查询不会包含数据。 本内容仅供学习使用。
在表向导中创建查询和表布局
在“设计查询”页中,关系查询设计器处于打开状态。 在本教程中,你将使用基于文本的查询设计器。
选择“编辑为文本”。 基于文本的查询设计器将显示查询窗格和结果窗格。
将以下 Transact-SQL 查询粘贴到“查询”框中。
SELECT CAST('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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('2015-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 由 Sum 函数聚合。 值为 [Sum(Sales)]。
将产品拖到行组中。
将SalesDate拖到列组中。
选择下一步。
在“选择布局”页的“选项”下,确认已选择“显示小计和总计” 。
在向导的“预览”窗格中显示一个包含三行的表格。 当你运行报表时,每行按以下方式显示:
第一行将在表格中出现一次以显示列标题。
第二行将对每个产品重复一次并显示产品名称、每日总计和行总计。
为显示总计,表格的第三行将出现一次。
选择下一步。
选择完成。
表将添加到设计图面中。 此表有三列和三行。
在“分组”窗格中查找。 如果未显示“分组”窗格,请在“视图”菜单上,选择“分组”。 “行组”窗格显示一个行组:“产品”。 “列组”窗格显示一个列组:“SalesDate”。 明细数据是由数据集查询检索的所有数据。
选择“运行” 以预览报表。
2a. 将数据格式设置为货币
默认情况下,“Sales”字段的汇总数据显示为常规数字。 请设置其格式,以使其显示货币形式的数字。 切换“占位符样式”,将格式化的文本框和占位符文本显示为示例值。
选择“设计”切换到设计视图。
选择SalesDate列中第二行(位于列标题行下方)的单元格。 按住 Ctrl 键并选择包含
[Sum(Sales)]的所有单元格。
在“主文件夹”选项卡>“数字”组中,选择“货币”。 单元格会更改为显示格式化的货币。
如果区域设置为“英语(美国)”,则默认示例文本为 [ $12,345.00]。 如果在“数字”组中看不到示例货币值,请选择“占位符样式”>“示例值”。
2b. (可选)将数据格式设置为日期格式
默认情况下,“SalesDate”字段同时显示日期和时间信息。 您可以设置其格式,使其只显示日期。
选择包含
[SalesDate]的单元格。在主页选项卡上,点击编号组中的>日期。
单元格会显示示例日期 [2000/1/31] 。
选择“运行” 以预览报表。
SalesDate 值显示为默认日期格式, Sales 的汇总值显示为货币格式。
3. 添加火花线
选择“设计”返回设计视图。
选择表中的“总计”列。
右键单击。 指向插入列,然后选择左。
在新列中,右键单击
[Product]行中的单元格 > 选择“插入”“迷你图”。
在选择迷你图类型对话框中,请确保选择了列行中的第一个迷你图,然后选择确定。
选择迷你图表以显示“图表数据”窗格。
选择“值”框旁边的加号 (+),然后选择“Sales”。
“Sales” 字段中的值现在被用作迷你图的值。
选择“类别组”框旁边的加号 (+),然后选择“SalesDate”。
选择“运行”以预览报表。
火花线图中的各条形柱没有对齐。 在第二行数据中只有四个条形图,因此这些条形图比第一行中的宽,因为第一行中有六个条形图。 您不能比较每个产品每天的数值。 它们之间需要相互对齐。
另外,对于每一行,最高的条形定义了该行的高度。 这个图形也会产生误导,因为每一行的最大值不相等:Budget Movie-Maker 的最大值是 $10,400,但 Slim Digital 的最大值是 $26,576,是前者的两倍多。 并且,这两行的最大的条形大约为相同高度。 所有迷你图需要使用相同的比例。
4. 将迷你图按水平方向和垂直方向排列
当所有迷你图不是使用相同的度量尺度时理解起来很困难。 每个迷你图的水平轴和垂直轴都需要与其他所有部分匹配。
选择“设计”返回设计视图。
右键单击迷你图,然后选择“垂直轴属性”。
选中“对齐轴”复选框。 Tablix1 是列表中唯一的选项。
该设置调整每个图表中条形与其他条形的相对高度。
选择“确定”。
右键单击迷你图形,然后选择“水平轴属性”。
选中“在内对齐轴”复选框。 Tablix1 是列表中唯一的选项。
这将设置每个微型图中条形的相对宽度。 如果某些迷你图中的条形比其他迷你图少,则这些迷你图对于缺失的数据具有空白空间。
选择“确定”。
选择“运行”以再次预览报表。
现在每个迷你图中的所有条形均与其他迷你图中的条形对齐,它们的高度也是相对的。
7.(可选)更改列宽
默认情况下,表中的每个单元格都包含一个文本框。 在呈现页面时,文本框将垂直扩展以容纳文本。 在呈现的报表中,每个行将扩展到行中呈现的最高文本框的高度。 Design Surface 上的行的高度不会影响已呈现报表中的行的高度。
若要减少每个行占用的垂直空间量,请扩展列宽以容纳单个行的列中的文本框的预计内容。
更改多列的宽度
选择“设计”返回设计视图。
选择表,灰色条形显示在表的上方和旁边。 这些条形是列和行的操作控件
指向列分隔符之间的线,使光标变为双箭头。 拖动“Product”列,以便产品名称显示在一行中。
选择运行以预览报表,并查看报表是否足够宽。
8.(可选)添加报表标题
报表标题将出现在报表的顶部。 可以将报表标题置于报表页眉中或置于表体顶部的文本框中(如果报表未使用表头)。 在本教程中,你将使用自动放置在表体顶部的文本框。
通过将不同的字体样式、大小和颜色应用于文本的短语和单个字符,可以进一步增强文本。 有关详细信息,请参阅设置分页报表中文本框内文本的格式(报表生成器)。
添加报表标题
在 design surface 上,选择“点击添加标题”。
输入“Sales by Date”,然后在文本框外部选择。
选择包含“Product Sales”的文本框。
在“开始”选项卡上 > 单击“字体”组 “颜色”,选择“蓝绿色”。
选择粗体。
选择“确定”。
9. 保存报表
将报表保存到报表服务器或计算机上。 如果不将报表保存到 Report Server 上,则许多 Reporting Services 功能(如子报表)将不可用。
将报表保存到报告服务器
从“报表生成器”按钮,选择“另存为”。
选择“最近使用的站点和服务器”。
选择或输入你拥有保存报表权限的 Report Server 的名称。
此时将显示“正在连接到报表服务器”消息。 当连接完成时,您将看到报表服务器管理员指定为报表默认位置的报表文件夹的内容。
在“名称”中,用“Product Sales”替换默认名称 。
选择“保存”。
报表即已保存至报表服务器。 你连接的 Report Server 的名称将显示在窗口底部的状态栏中。
将报表保存到计算机上
从“报表生成器”按钮,选择“另存为”。
依次选择“桌面”、“我的文档”或“我的电脑”,并浏览到要保存该报表的文件夹。
在“名称”中,用“Product Sales”替换默认名称 。
选择“保存”。