SQL Server Data Tools 中的 Reporting Services (SSDT)

适用于: SQL Server 2016 (13.x) Reporting Services 及更高版本

SQL Server Data Tools (SSDT) 是用于创建商业智能解决方案的 Microsoft Visual Studio 环境。 SSDT 提供报表设计器创作环境。 可使用报表设计器打开、修改、预览、保存和部署 SQL Server Reporting Services (SSRS) 分页报表定义、共享数据源、共享数据集和报表部件。

注意

SQL Server Reporting Services 2019 之后的所有 SQL Server Reporting Services 版本,以及 Power BI Report Server September 2022 之后的所有 Power BI Report Server 版本已弃用报表部件。

本文介绍了 SSRS 使用的 SSDT 解决方案、项目、项目模板和配置。 它还介绍可在报表设计器中使用的视图、菜单、工具栏及快捷方式。

SSDT 安装

SQL Server 中不包含 SSDT。 无需单独安装 SSDT。 有关说明,请参阅使用 Visual Studio 安装 SSDT

若要使用报表设计器模板,还需要安装适用于 Visual Studio 的 SSRS 扩展。 有关说明,请参阅为 Analysis Services、Integration Services 和 Reporting Services 安装扩展

若要开始设计报表,请参阅使用报表设计器设计 Reporting Services 分页报表 (SSRS)

解决方案和项目

报表项目的作用是充当报表定义和资源的容器。 在部署项目时,会将报表项目中的每个文件发布到报表服务器上。 在第一次创建项目时,还将创建一个解决方案作为该项目的容器。 您可以将多个项目添加到一个解决方案中。

配置

若要为企业、测试和生产报表服务器等部署变体创建多组项目属性,请使用 Visual Studio 中的配置管理器功能。 有关更多信息,请参阅 SQL Server Data Tools (SSRS) 中的部署和版本支持

报表服务器项目

安装适用于 Visual Studio 的 SSRS 扩展时,如前面 SSDT 安装中所述,SSDT 中提供了以下项目模板:

  • 报表服务器项目。 当使用报表服务器项目模板时,报表设计器将会打开。 可在“创建新项目”对话框中找到此商业智能项目模板。 有关详细信息,请参阅创建报表服务器项目

    报表服务器项目属性适用于 SSDT 项目中的所有报表和所有共享数据源。 这些属性包括报表服务器的 URL 以及报表和共享数据源的文件夹名称。 可使用“项目属性页”对话框查看当前属性值。 若要打开此对话框,请转到“项目菜单”,然后选择“属性”

  • 报表服务器项目向导。 使用报表服务器向导项目模板时,系统会自动创建报表服务器项目,并打开报表向导。 在向导中,你可以按照每个页面上的说明创建报表。 这些说明介绍如何:

    • 创建数据源的连接字符串。
    • 设置数据源凭据。
    • 设计查询。
    • 添加表或矩阵数据区域。
    • 指定报表数据和组。
    • 选取字体和颜色样式。
    • 将报表发布到报表服务器。
    • 在本地预览报表。

    使用向导创建报表后,可使用报表服务器项目中的报表设计器更改报表数据和报表设计。

报表设计器窗口和窗格

报表设计器提供了多个窗口和窗格,来帮助你设计报表和查看呈现的报表。

“报表数据”窗格

“报表数据”窗格显示可在报表中使用的数据对象。

若要打开“报表数据”窗格,请将焦点转移到设计区域。 然后在“视图”菜单上,选择“报表数据”

“报表数据”窗格中提供了以下类型的对象:

  • 内置字段。 这些字段包含预定义的报表信息,如报表名称或处理报表的时间。
  • 数据源。 数据源表示数据源的名称和连接信息。
  • 数据集。 每个数据集都包含一个查询,指定了要从数据源中检索的数据。 展开数据集可查看数据集查询指定的字段集合。 在针对多维数据集的某些查询设计器中,您可以在“筛选器”窗格中指定筛选器,并且指示是否创建报表参数。 如果指定报表参数选项,则将自动创建一个特殊的数据集,以便填充该参数的有效值列表。 默认情况下,该数据集不显示在“报表数据”窗格中。 有关详细信息,请参阅显示参数值的隐藏数据集 - 多维数据
  • 报表参数。 当数据集查询包含查询参数时,可手动或自动创建报表参数。
  • 图像。 此列表中的图像可作为图像报表项包含在报表中。

“报表数据”窗格中的数据源和数据集表示报表定义中的元素。 “报表数据”窗格是多个报表创作环境都支持的功能。

  • 在报表生成器中,它是唯一可用于管理数据源和数据集的窗格。
  • 在报表设计器中,“报表数据”窗格使用解决方案资源管理器,该解决方案资源管理器将共享数据源和共享数据集作为文件列出。 “报表数据”窗格中的共享数据源和共享数据集必须指向解决方案资源管理器中的相应共享数据源和共享数据集。 然后,“报表数据”窗格元素将包含对解决方案资源管理器中的数据文件的引用。 项目属性确定共享数据源和共享数据集是否部署到报表服务器或 SharePoint 站点。 有关详细信息,请参阅转换数据源(报表生成器和 SSRS)

如果“报表数据”窗格是浮动的,您可以对它进行定位。 有关详细信息,请参阅在报表设计器中停靠“报表数据”窗格 (SSRS)

分组窗格

使用“分组”窗格为 Tablix 数据区域定义组。 可为表定义行组和详细信息组,也可以为矩阵定义行组和列组。 不能使用“分组”窗格为图表或其他数据区域定义组。 有关详细信息,请参阅报表生成器分页报表中的组

“分组”窗格具有两种模式:

  • 默认。 使用默认模式可分层显示所有行组和列组,并显示父组、子组、相邻组和详细信息组之间的关系。 子组显示在相对于其父组的下一个缩进级别的下面。 相邻组显示在与它的对等组或同级组相同的缩进级别中。

    还可以使用默认模式添加、编辑或删除组。 对于基于单个数据集字段的组,将该字段拖至“行组”或“列组”窗格中。 可以将组插入到现有组的旁边。 若要添加相邻组,请使用同级组的快捷菜单。 若要显示属于某个组的 Tablix 单元格,请在“分组”窗格中选择该组。

  • 高级。 使用高级模式可显示所选 Tablix 数据区域的静态和动态行组和列组成员。 在高级模式下,还可以设置属性来控制与组或组成员关联的行和列的可见性。 这些属性决定了呈现器用于尝试将各组放在一个页面上的规则。 组成员将作为行组和列组区域中的单元显示在设计图面上。

注意

若要在默认模式和高级模式之间切换,请右键单击“列组”图标右侧的向下箭头。

有关更多信息,请参阅分组窗格

“工具箱”窗格

“工具箱”窗格包含可以拖动到设计图面的报表项。

  • 数据区域是您用于在报表上组织数据的报表项。 数据区域的示例包括表、矩阵、列表、图表、仪表、数据栏、迷你图和标记器。
  • 其他报表项还包括地图、文本框、矩形、线条、图像和子报表。
  • 如果系统管理员安装并注册了自定义报表项,它们也可能显示在“工具箱”窗格中。

属性窗格

“属性”窗格是一个标准的 Visual Studio 窗口,可显示设计图面上当前选定报表项的属性名称和值。

若要显示“属性”窗格,请前往“视图”菜单,然后选择“属性窗口”。 可取消停靠此窗格,将其移到 SSDT 窗口的其他区域,或者在设计图面上将其显示为选项卡式视图。

在大多数情况下,属性名称与报表定义语言 (RDL) 文件中的元素和特性相对应。 可使用选定项目的“属性”对话框设置最常用的属性。 要打开某项的“属性”对话框,请选择该项,然后选择“属性”窗格工具栏上的“属性页”按钮。 高级用户可以在“属性”窗格中直接设置属性值。

可使用“属性”窗格执行以下任务:

  • 为设计图面上的当前选定的项设置属性。 某些属性提供了值的下拉列表。 你也可以直接在单元格中输入值。 某些属性包含值集合,该集合用值“(集合)”表示。 大多数属性都可以接受表达式。 复杂的表达式由值 <表达式> 表示。 若要打开“表达式”对话框,请选择“表达式”(fx) 按钮。 有关详细信息,请参阅表达式对话框
  • 使用“属性”窗格工具栏按钮将网格从类别视图更改为字母顺序视图。 在类别视图中,可能需要展开类别才能看到其下面的所有属性。 若要打开某项的“属性”对话框,请选择工具栏上的“属性页”按钮。 或者,右键单击该项,然后选择“属性”
  • 为“分组”窗格中的当前所选组成员设置属性。 组成员属性有助于控制每个组实例的静态组标头和页脚行的重复方式。 有关更多信息,请参阅在分页报表中显示某个组的标头和页脚(报表生成器)

解决方案资源管理器

解决方案资源管理器是一个标准的 Visual Studio 组件,可显示项目中的所有项。 对于报表服务器项目,此项列表包含用于组织共享数据源、共享数据集、报表和资源的文件夹。 当您打开解决方案文件时,文件夹项自动按字母顺序出现。 若要在“属性”窗格中查看项属性,请选择该项。

“输出”窗口

“输出”窗口显示预览报表时发生的处理错误。 此窗口还显示了部署报表或共享数据源时发生的发布错误。

可使用“输出”窗口来帮助调试表达式中的错误。

“文档大纲”窗格

“文档大纲”窗格显示报表定义中所有报表项的分层列表。 若要打开“文档大纲”窗格,可选择“视图”>“其他窗口”>“文档大纲”

“文档大纲”窗格有助于按名称标识文本框和其他报表项。 在“文档大纲”中选择某一项时,该项在设计画面上也将选中。

还可以使用“文档大纲”窗格来帮助调试表达式中的错误。

“任务列表”窗口

“任务列表”窗口显示从其他应用程序导入报表时发生的生成错误。 例如,如果从 Microsoft Access 导入报表,而报表包含 SSRS 不支持的功能,则会在“任务列表”窗口中报告错误。

报表设计器视图

报表设计器支持两种视图:

  • 设计,定义报表的数据和布局
  • 预览,显示报表的呈现视图

设计视图

创建报表服务器项目时,报表设计器默认在设计视图中打开并显示设计画面。 默认情况下,设计图面显示包括表体和报表背景。

设计图面背景有一个快捷菜单。 该菜单提供了添加页眉和页脚的选项。 它还包含一个“视图”菜单,可用来显示标尺、“分组”窗格和“参数”窗格。

可使用缩放控件增大或减小报表的放大倍数。

若要设计报表,请将报表项从“工具箱”窗格拖到设计图面。 然后,配置属性并更改在报表上的排列方式。

“预览”视图

在“预览”视图中,可运行报表并在报表查看器中查看呈现的报表。 还可以设置配置属性,以便使用浏览器在调试模式下运行报表。

预览报表时,报表设计器会:

  • 连接到报表数据源。
  • 运行数据集查询。
  • 在本地计算机上缓存数据。
  • 处理报表以合并数据和布局。
  • 呈现报表。

使用“预览”视图时,请注意以下几点:

  • 参数化报表 预览报表时,如果所有报表参数均有有效默认值,则将自动处理报表。 如果一个或多个报表参数没有有效默认值,则您必须为每一个未赋值的参数选择一个值。 然后,在报表工具栏上,选择“查看报表”
  • 本地数据缓存。 预览报表时,报表处理器将使用当前参数默认值运行报表中数据集的所有查询。 它将结果保存为本地数据缓存 (.rdl.data) 文件。 您可以继续设计报表,如果不更改报表数据集查询或报表参数,则不会再次产生检索此数据的开销。
  • 配置管理器和调试。 在 SSDT 中,项目属性定义了部署和调试报表的方式。 这些属性适用于项目中的所有报表和共享数据源。 若要设置项目属性,请前往“项目”菜单,然后选择“属性”。 在“属性页”对话框中,选择“配置管理器”。 使用这些设置可测试报表并将其发布到报表服务器。
  • 输出窗格。 预览报表时,如果报表处理器检测到问题,则会将错误消息写入到“输出”窗格中。

报表设计器菜单

当报表设计器项目在 SSDT 中处于活动状态时,主菜单中将添加以下菜单。

“格式”菜单

当在设计图面上选定项时, “格式” 菜单包含以下选项:

选项 目的
前景色 选择文本颜色。 默认文本颜色为黑色。
背景色 为文本框和数据区域选择背景色。
字体 指定文本是粗体、斜体还是带下划线。
理由 指定文本是右对齐、居中还是左对齐。
对齐 指定选定对象相对于报表内其他对象的对齐方式。
使大小相同 调整报表内选定对象的大小。
水平间距 调整报表内选定对象之间的水平间距。
垂直间距 调整报表内选定对象之间的垂直间距。
在窗体中居中 使选定对象相对于报表设计器窗口垂直和水平居中。
Order 将选定对象移到背景或前景中。

报表菜单和设计图面快捷菜单

可使用以下选项来配置应用于整个报表的设置。 这些选项的可用性和位置取决于所使用的 Visual Studio 版本:

  • 在旧版本中,可以在“报表”菜单中找到这些选项。
  • 在更高版本中,大多数选项都位于设计图面背景的快捷菜单中。
选项 目的
报表属性 打开“报表属性”对话框,指定常规报表属性,如作者姓名、网格间距、列数和页面大小。 还可以为自定义代码、程序集和类的引用以及数据输出元素、数据转换和数据架构的名称配置设置。
视图 在以下两个“报表设计器”选项卡之间切换:“设计”和“预览”。 显示或隐藏标尺、“分组”窗格或“参数”窗格。
添加页眉 在报表中添加或删除页眉。 删除页眉时,页眉中的所有项都将被删除。
添加页脚 在报表中添加或删除页脚。 删除页脚时,页脚中的所有项都将被删除。
发布报表部件 选择要发布的报表部件。

“视图”菜单

可使用以下“视图”菜单选项来显示或隐藏各种报表设计器窗口和工具栏:

选项 要显示或隐藏的组件
错误列表 发布或预览报表时检测到的错误。
输出 发布或处理报表时检测到的错误。 此外,当报表显示文本 "#Error" 时,提供有关表达式错误的详细信息。
“属性”窗口 设计图面上当前选定报表项的属性值。 可使用此选项查看嵌套报表项的属性。 但必须多次选择一个报表项才能循环浏览其层次结构和嵌套成员。 若要了解显示了哪个报表项的属性,可查看“属性”窗格顶部的项名称。
工具箱 工具箱。
“其他窗口”>“文档大纲” 报表中报表项及其文本框集合的分层视图。
工具栏 各种工具栏,包括“报表边框”和“报表格式”。 有关详细信息,请参阅报表设计器工具栏
报表数据 “报表数据”窗格,可在其中添加报表参数、数据源、数据集和图像。

“项目”菜单

可使用以下“项目”菜单选项来管理项目中的共享数据源和报表。 向项目添加项或从中移除项时,解决方案资源管理器中的项目项的层次结构显示会自动更新。

选项 目的
添加新项 在项目中添加新的共享数据源或新的报表。
添加现有项 在项目中添加现有共享数据源或现有报表。
导入报表 从其他应用程序(例如 Microsoft Access)导入报表。
从项目中排除 从项目中排除项。 此选项不会从文件系统中删除排除的项。
显示所有文件 显示项目中的所有文件。
刷新项目工具箱项 在项目中安装新的自定义报表项时刷新工具箱缓存。
属性 打开项目的“属性页”对话框。 有关详细信息,请参阅“项目属性页”对话框

报表设计器工具栏

报表设计器提供了以下专用工具栏,可在设计报表时使用:

工具栏 目的
报告 添加页眉或页脚。 设置报表属性。 显示或隐藏标尺或“分组”窗格。 使用缩放控件更改报表视图。
报表边框 设置所有选定行的颜色、样式和宽度,以及所有选定报表项的边框。
报表格式 设置选定报表项的格式。 对于文本框,可使用工具栏更改以下类型的格式:字体属性、文本颜色、背景颜色和文本对齐方式。
布局 设置报表项的绘制顺序和数据区域内的合并单元格。
标准 打开或保存项目,显示窗口,选择“调试”配置。

可使用“视图”菜单显示或隐藏这些工具栏。 如果其他 Visual Studio 工具栏的功能不适用于报表设计器功能,则可能无法使用这些功能。

源代码管理

SSDT 可与源插件集成。你可以使用“选项”对话框中的“源控件”页来指定插件并配置属性。

自定义报表模板

若要将自定义报表用作新报表的模板,只需将其复制到安装 SSDT 的计算机上的 ReportProject 文件夹。

此文件夹的默认位置取决于所使用的 Visual Studio 版本。 对于 Visual Studio 2022、2019 和 2017,该文件夹位于以下位置:

%ProgramFiles%\Microsoft Visual Studio\<release-year>\<edition>\Common7\IDE\CommonExtensions\Microsoft\SSRS\ProjectItems\ReportProject

对于 Visual Studio 2015,默认位置是以下文件夹:

%ProgramFiles%\Microsoft Visual Studio 14.0\Common7\IDE\Private Assemblies\ProjectItems\ReportProject

向报表项目中添加新项时,自定义报表将显示在“模板”窗格中。 还可以向报表向导添加自定义样式。

SSDT 的命令行支持

SSDT 基于 Visual Studio 和基础 devenv.exe 应用程序。 该应用程序提供了多个命令行选项,对处理报表非常有用。

在使用本节介绍的命令行选项之前,必须为以下两项设置有效值:

  • OverwriteDataSourcesTargetDataSourceFolderTargetReportFolderTargetServerURL 的项目属性。
  • 至少一组配置属性,例如,Debug 或 Release。

有关详细信息,请参阅发布数据源和报表

对于报表服务器项目,您可以通过命令行指定以下选项:

  • /deploy:使用配置文件指定的项目属性部署报表。 例如,以下命令可部署解决方案文件 Reports.sln 指定的报表。 它使用项目属性中指定的 Release 配置设置:

    devenv.exe "C:\Users\<user-name>\source\repos\Reports\Reports.sln" /deploy "Release"
    
  • /build:生成解决方案文件,但不部署。 例如,以下命令可生成解决方案文件 Reports.sln 指定的报表。 它使用项目属性中指定的 Debug 配置设置:

    devenv.exe "C:\Users\<user-name>\source\repos\Reports\Reports.sln" /build "Debug"
    
  • /out:将生成解决方案产生的输出结果重定向到指定的文件。 例如,以下命令会将在上一示例中生成的输出结果重新定向到名为 mybuildlog.txt 的文件。

    devenv.exe "C:\Users\<user-name>\source\repos\Reports\Reports.sln" /build "Debug" /out mybuildlog.txt
    

SSDT 中的键盘快捷键

可使用键盘快捷键:

  • 控制 SSDT 中的窗口和模式:

    说明 组合键
    生成选定的项目 Ctrl+Shift+B
    显示“属性”窗口 F4
    显示“报表数据”窗口 Ctrl+Alt+D
    “启动调试” F5
    从一个已打开的窗口移到下一个窗口 F6
  • 控制报表设计图面上的项:

    说明 键组合
    将焦点从一个报表项移到下一个 Tab
    移动选定的报表项 箭头键
    微移选定的报表项 Ctrl+箭头键
    增大或减小所选报表项 Ctrl+Shift+箭头键
    在文本框中,将光标移到可见显示文本的开头 Ctrl+Home
    在文本框中,将光标移到可见显示文本的末尾 Ctrl+End
    在文本框中,选择从当前光标位置到可见显示文本开头的文本 Shift+Home
    在文本框中,选择从当前光标位置到可见显示文本末尾的文本 Shift+End
    在文本框中,选择从当前光标位置到表达式开头的文本 Ctrl+Shift+Home
    在文本框中,选择从当前光标位置到表达式末尾的文本 Ctrl+Shift+End
    打开所选报表项的快捷菜单 Shift + F10