ReportingService-报表开发工具介绍

上传人:san****019 文档编号:16509393 上传时间:2020-10-04 格式:PPT 页数:107 大小:1.06MB
收藏 版权申诉 举报 下载
ReportingService-报表开发工具介绍_第1页
第1页 / 共107页
ReportingService-报表开发工具介绍_第2页
第2页 / 共107页
ReportingService-报表开发工具介绍_第3页
第3页 / 共107页
资源描述:

《ReportingService-报表开发工具介绍》由会员分享,可在线阅读,更多相关《ReportingService-报表开发工具介绍(107页珍藏版)》请在装配图网上搜索。

1、ReportingService报表开发工具介绍,中国人寿统计信息项目小组 2005-11-14,10/4/2020,1,提纲,一、Reporting Services 工具简介 二、创建基本报表 三、向基本报表中添加分组、排序和格式设置 四、将参数添加至基本表格报表 五、使用参数的高级功能,10/4/2020,2,10/4/2020,Reporting Services 工具,Reporting Services 配置工具 报表管理器 开发常用的几种工具 报表生成器,10/4/2020,3,10/4/2020,Reporting Services 工具,启动 Reporting Servic

2、es 配置工具 1.单击“开始”,依次指向“程序”、Microsoft SQL Server 2005 和“配置工具”,再单击“Reporting Services 配置”。 此时将出现“选择报表服务器安装实例”对话框,可以选择要配置的报表服务器实例。 2.在“计算机名称”中,指定安装报表服务器实例的计算机名称。指定的默认值是本地计算机名称,但也可以键入远程 SQL 服务器实例的名称。 如果指定远程计算机,请单击“查找”以建立一个连接。必须事先配置报表服务器,以便进行远程管理。 3.在“实例名称”中,选择要配置的 SQL Server 2005 Reporting Services 实例。在列

3、表中只显示 SQL Server 2005 报表服务器实例。不能配置较早版本的 Reporting Services。 4.单击“连接”。 5.若要验证是否已启动工具,请将您的结果与下图进行比较:(见下页),10/4/2020,4,10/4/2020,Reporting Services 工具,10/4/2020,5,10/4/2020,Reporting Services 工具,报表管理器 若要使用基于 Web 的工具来设置权限、管理订阅和计划以及处理报表和模型,请使用报表管理器。也可以使用报表管理器来查看报表。 必须拥有足够的权限才能打开报表管理器(最初,只有本地 Administrato

4、rs 组的成员拥有访问报表管理器功能的权限)。报表管理器根据当前用户的角色分配提供不同的页和选项。没有权限的用户将得到一个空页。拥有查看报表权限的用户将获得链接,用户点击这些链接可以打开报表。 报表管理器启动操作如下: 1.打开 Microsoft Internet Explorer 6.0 或更高版本。 2.在 Web 浏览器的“地址”栏中,键入报表管理器 URL。默认情况下,该 URL 为 http:/reports。可以使用 Reporting Services 配置工具来确认服务器名称和虚拟目录名称。 3.报表管理器将在浏览器窗口中打开。启动页为主文件夹。根据权限,您可能看到启动页中的

5、其他文件夹、指向报表的超链接和资源文件。也可能在工具栏上看到其他按钮和命令。 4.若要验证是否已启动工具,请将您的结果与下图进行比较:,10/4/2020,6,10/4/2020,Reporting Services 工具,一、Management Studio 二、带有报表设计器和模型设计器的 Business Intelligence Development Studio 2.1.报表设计器 2.2.模型设计器,10/4/2020,7,10/4/2020,Reporting Services 工具,Management Studio,10/4/2020,8,10/4/2020,Report

6、ing Services 工具,带有报表设计器和模型设计器的 Business Intelligence Development Studio 报表设计器,10/4/2020,9,10/4/2020,Reporting Services 工具,带有报表设计器和模型设计器的 Business Intelligence Development Studio 模型设计器,10/4/2020,10,10/4/2020,Reporting Services 工具,报表生成器 1.在 Web 浏览器中,在地址栏键入报表管理器的 URL。默认情况下,该 URL 为 http:/reports。 2.单击“报

7、表生成器”。报表生成器按钮与其他按钮均位于工具栏上: 如果没有看到报表生成器按钮,可能是您没有权限。 3.若要验证是否已启动工具,请将您的结果与下图进行比较:,10/4/2020,11,10/4/2020,创建基本报表,一、创建报表服务器项目 二、设置连接信息 三、定义报表查询 四、添加表数据区域 五、预览基本报表,10/4/2020,12,10/4/2020,创建基本报表,一、创建报表服务项目 (一、)创建报表服务项目 1.单击“开始”,依次指向“程序”和 Microsoft SQL Server 2005,再单击 Business Intelligence Development Stud

8、io。 2.在“文件”菜单上,指向“新建”,再单击“项目”。 3.在“项目类型”列表中,单击“商业智能项目”。 4.在“模板”列表中,单击“报表服务器项目”。 5.在“名称”中,键入 Tutorial。 6.单击“确定”以创建项目。 解决方案资源管理器中将显示 Tutorial 项目。,10/4/2020,13,10/4/2020,创建基本报表,一、创建报表服务项目 (二、)创建新的报表定义文件 1.在解决方案资源管理器中,右键单击“报表”,指向“添加”,再单击“新建项”。 注:如果解决方案资源管理器窗口不可见,请单击“视图”菜单中的“解决方案资源管理器”。 2.在“添加新项”中,单击“报表”

9、。 下面的关系图显示了“添加新项”对话框,该对话框用于向项目中添加报表和其他项。 3.在“名称”中,键入 Sales Orders.rdl,再单击“添加”。 此时报表设计器将打开,并在“数据”视图中显示新的 .rdl 文件。,10/4/2020,14,10/4/2020,创建基本报表,二、设置连接信息 1.在“数据”选项卡中,展开页面顶部“数据集”下拉列表的内容,并选择“新建数据集”。此时,将显示“数据源”对话框。 2.在“名称”中,键入 AdventureWorks。 3.在“类型”中,选择 Microsoft SQL Server。 4.在“连接字符串”中,键入以下内容: Data sou

10、rce=(local); initial catalog=AdventureWorks 该连接字符串假定 Business Intelligence Development Studio、报表服务器和 AdventureWorks 数据库都已安装在本地计算机中,并且您拥有登录 AdventureWorks 数据库的权限。 如果使用的是具有高级服务或命名实例的 SQL Server 2005 Express Edition,则连接字符串必须包括实例信息: Data source=localhostSQLEXPRESS; initial catalog=AdventureWorks 5.单击“确定

11、”。AdventureWorks 将添加到“数据集”窗格中。,10/4/2020,15,10/4/2020,创建基本报表,三、定义报表查询 定义了数据源之后,报表设计器将创建一个数据集,并显示可用于设计查询的通用查询设计器。在本教程中,您将创建一个查询,用于从数据库中检索销售订单信息。 通用查询设计器是默认的查询设计工具,因为它能处理复杂的 Transact-SQL 语句,并且直到运行报表时才对语句进行格式设置或验证。但是,如果您比较熟悉图形查询设计器,则可使用此工具代替通用查询设计器。查询设计器工具栏上的切换按钮可用来在工具之间进行切换。 若要为报表数据定义 Transact-SQL 查询,

12、请执行以下操作: 1.将以下查询键入(或复制并粘贴)到通用查询设计器的 SQL 窗格中,SQL 窗格是设计工具中最上层的窗格。上述步骤下面所列的关系图显示了应该指定查询的位置。 SELECT S.OrderDate, S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.ContactID = C.ContactID INNER JOIN Sales.SalesOrderHeader S ON E.Employ

13、eeID = S.SalesPersonID 2.若要查看查询的结果,请单击查询设计器工具栏上的“运行”(!) 按钮。,10/4/2020,16,10/4/2020,创建基本报表,四、添加表数据区域 1.单击“布局”选项卡。 2.在“工具箱”中,单击“表”,再单击设计图面。报表设计器将在设计图面的宽度内绘制一个具有三列的表。 3.在“数据库”窗口中,展开报表数据集以显示字段。 4.将 OrderDate 字段从“数据集”窗口拖到此表第一列的中间行(详细信息行)中。 当将字段拖到中间单元时,会发生两件事。首先,详细信息单元将包含下面的文本:“=Fields!OrderDate.Value”。该文

14、本是为 OrderDate 字段指定数据值的字段表达式。添加到详细信息行的字段始终被指定为表达式。其次,列标题值自动放置在紧邻字段表达式上面的第一行。默认情况下,该列是字段的名称。 5.将 SalesOrderNumber 字段从“数据集”窗口拖到此表第二列的中间行(详细信息行)中。 6.将 TotalDue 字段从“数据集”窗口拖到此表第三列的中间行(详细信息行)中。,10/4/2020,17,10/4/2020,创建基本报表,五、预览基本报表 1.保存报表项目。在“文件”菜单中,单击“全部保存”。 2.单击“预览”选项卡。报表设计器将运行此报表,并将其显示在预览视图中。 下图在“预览”窗口

15、中显示此报表。,10/4/2020,18,10/4/2020,向基本报表中添加分组、排序和格式设置,一、打开教程项目 二、添加组 三、添加新建列 四、对详细信息数据排序 五、添加小计 六、应用格式和样式 七、发布已更新的报表,10/4/2020,19,10/4/2020,向基本报表中添加分组、排序和格式设置,一、打开教程项目 1.单击“开始”,依次指向“程序”、Microsoft SQL Server 2005,再单击 Business Intelligence Development Studio。 2.在“文件”菜单中,指向“打开”,再单击“项目/解决方案”。 3.导航到在上一个教程中创建

16、的项目文件的位置。该项目应该位于“教程”文件夹中。 4.单击 Tutorial.rptproj,再单击“打开”。 5.在解决方案资源管理器窗口中,双击 Sales Orders.rdl 可打开此报表。如有必要,单击“布局”选项卡,以在“布局”视图中打开此报表。,10/4/2020,20,10/4/2020,向基本报表中添加分组、排序和格式设置,二、添加组 1.在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。 2.右键单击任一行的句柄,再单击“插入组”。 3.在“常规”选项卡上,对于“分组方式”,选择第一行的 =Fields!LastName.Value 和第二行的 =Fields

17、!FirstName.Value”。此操作将按销售人员的姓名对数据进行分组。 4.在“排序”选项卡上,对于“排序方式”,选择第一行的 =Fields!LastName.Value 和第二行的 =Fields!FirstName.Value”,其中每一个选项都按“升序”排序。此操作将按销售人员的姓名对分组进行排序。 5.单击“确定”。组头和组尾这两个新行将添加到此表中。,10/4/2020,21,10/4/2020,向基本报表中添加分组、排序和格式设置,三、添加新建列 1.单击表,以便在此表的上方和旁边显示列句柄和行句柄。 2.在第一列 (Order Date) 上,右键单击句柄,再单击“在左侧

18、插入列”。 3.单击新列中的第二个单元,然后键入以下表达式。第二个单元应该位于在前面的步骤中添加的新组的行中: =Fields!FirstName.Value + + Fields!LastName.Value 4.单击第一列中的第一个单元,然后键入 Sales Person。这是表格表头中列的标签。,10/4/2020,22,10/4/2020,向基本报表中添加分组、排序和格式设置,四、对详细信息数据排序 1.在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。 2.右键单击角部句柄,再单击“属性”按钮。 3.在“排序”选项卡的“排序方式”中,选择 =Fields!OrderDat

19、e.Value。此时将按订单日期对详细信息数据排序。 4.单击“确定”。,10/4/2020,23,10/4/2020,向基本报表中添加分组、排序和格式设置,五、添加小计 单击最后一列(应付款总计)中的第四个单元格,然后键入以下表达式: =Sum(Fields!TotalDue.Value),10/4/2020,24,10/4/2020,向基本报表中添加分组、排序和格式设置,六、应用格式和样式 (一、)日期格式 1.右键单击带 OrderDate 字段表达式的单元格,再单击“属性”。“文本框属性”对话框随即显示。 2.打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式

20、”对话框。 3.对于“格式”,请依次选择“标准”、“日期”,然后选择列表中的第三个示例(短日期)。 4.单击“确定”,关闭“选择格式”对话框,然后再次单击“确定”,关闭“文本框属性”对话框。,10/4/2020,25,10/4/2020,向基本报表中添加分组、排序和格式设置,六、应用格式和样式 (二、)货币格式 1.右键单击带 TotalDue 字段表达式的单元格,然后单击“属性”。 2.打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式”对话框。 3.对于“格式”,请依次选择“标准”、“货币”,单击“确定”,然后再次单击“确定”,关闭“文本框属性”对话框。,10/4

21、/2020,26,10/4/2020,向基本报表中添加分组、排序和格式设置,六、应用格式和样式 (三、)文本样式和列宽 1.单击表,以便在此表的上方和旁边显示列句柄和行句柄。 2.选择第一行、第二行和第四行(包含列标题标签的行、组头行和组尾行)的行句柄,然后在格式设置工具栏上,单击“粗体”(“B”) 按钮。 3.指向列句柄之间的行,使游标变为双箭头。拖动列,调整到所需大小。,10/4/2020,27,10/4/2020,向基本报表中添加分组、排序和格式设置,七、发布已更新的报表 1.在解决方案资源管理器窗口中,右键单击“教程”项目,再单击“属性”。 2.单击配置管理器。 3.在配置管理器对话框

22、的“活动的解决方案配置”中,选择“生产”。 4.单击“关闭”。 5.在“教程属性页”对话框的 TargetServerURL 中,键入报表服务器的虚拟目录;例如 http:/servername/reportserver。(这是报表服务器的虚拟目录,而不是报表管理器的虚拟目录。) 6.如果“调试”属性节点尚未打开,请将其展开以显示 StartItem 属性。单击 StartItem 旁边的文本框,并从下拉列表中选择报表 SalesOrder.rdl。 7.单击“确定”。 8.保存报表项目。在“文件”菜单上,单击“全部保存”。 9.发布报表。在“调试”菜单上,单击“开始执行(不调试)”。 10.

23、发布完成后,报表设计器将打开 Internet Explorer。单击“销售订单”即可查看该报表。,10/4/2020,28,10/4/2020,将参数添加至基本表格报表,一、创建参数教程的报表服务器项目 二、添加按日期进行筛选的参数 三、添加具有可用值列表的单值参数 四、添加具有“全选”值的多值参数 五、添加控制行可见性的参数 六、添加要传递给钻取报表的参数,10/4/2020,29,10/4/2020,将参数添加至基本表格报表,一、创建参数教程的报表服务器项目 1.单击“开始”,依次指向“程序”、Microsoft SQL Server 2005,再单击 Business Intellig

24、ence Development Studio。 2.在“文件”菜单上,指向“打开”,然后单击“项目/解决方案”。 3.导航到在上一个教程中创建的项目文件的位置。该项目应该位于“教程”文件夹中。 4.单击 Tutorial.rptproj,再单击“打开”。 5.在解决方案资源管理器窗口中,双击 Sales Orders.rdl 可打开此报表。如有必要,单击“数据”选项卡,以在“数据”视图中打开此报表。,10/4/2020,30,10/4/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数 (一、)将日期参数添加至查询 1.在“数据”视图中,选择 AdventureWorks 数据

25、集。 2.用以下查询替换现有的查询: SELECT S.OrderDate, S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.ContactID = C.ContactID INNER JOIN Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID WHERE (S.OrderDate BETWEEN (StartDate) AND (End

26、Date) - Accurate Enddate would be 20020228 23:59:59.997 3.在工具栏上单击“运行”(!)。将打开“定义查询参数”对话框。 4.在“参数值”列中,为 StartDate 输入值。例如,20010101。 5.在“参数值”列中,为 EndDate 输入值。例如,20030101。 6.单击“确定”。系统会自动创建报表参数 StartDate 和 EndDate,并将数据类型默认设置为 String。在接下来的三个步骤中,将把这些参数设置为数据类型 DateTime。,10/4/2020,31,10/4/2020,将参数添加至基本表格报表,二、

27、添加按日期进行筛选的参数 (一、)将日期参数添加至查询 7.在“报表”菜单中,单击“报表参数”。将打开“报表参数”对话框。 8.在“参数”列表框中,确保突出显示 StartDate。在“数据类型”下拉列表中,选择 DateTime。 9.在“参数”列表框中,选择 EndDate。在“数据类型”下拉列表中,选择 DateTime。 10.单击“确定”。 11.单击“预览”。StartDate 和 EndDate 参数将分别随一个日历控件显示在工具栏中。参数的数据类型是 DateTime 并且未定义可用值列表时,日历控件便会自动显示。定义可用值列表将创建一个值下拉列表,而不是日历控件。 12.在本

28、教程中,您将为参数输入值,而并不使用日历控件。 13.在 StartDate 参数文本框中,输入日期 2001-01-01。 14.在 EndDate 参数文本框中,输入日期 2003-01-01。 15.单击“查看报表”。报表将仅显示位于报表参数值范围中的数据记录。,10/4/2020,32,10/4/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数 (二、)为日期参数设置默认值 1.在“布局”视图中,单击“报表”菜单中的“报表参数”。将打开“报表参数”对话框。 2.在“参数”列表框中,确保突出显示 StartDate。 3.在默认值部分中,选择“无查询”并键入 2001-0

29、1-01。按 Tab 键退出该文本框。 4.在“参数”列表框中,选择 EndDate。 5.在默认值部分中,选择“无查询”并键入 2003-01-01。按 Tab 键退出该文本框。 6.单击“确定”。 7.单击“预览”。由于为所有参数定义了默认值,因此报表会立即运行。 报表用户运行报表时,可以使用位于查询参数作用域范围中的参数值来设置默认值。例如,您可以提供将所呈现数据限定为一个月的报表参数值。,10/4/2020,33,10/4/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数 (三、)将新字段添加至查询以用于筛选 1.在“数据”视图中,选择 AdventureWorks 数

30、据集。 2.在查询中,将以下命令添加至 SELECT 语句,以便为发生销售业务的工作日另外定义一个计算列:DATENAME(weekday, S.OrderDate) as Weekday。 用以下文本替换现有的查询: SELECT S.OrderDate, DATENAME(weekday, S.OrderDate) as Weekday, S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.Contact

31、ID = C.ContactID INNER JOIN Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID WHERE (S.OrderDate BETWEEN (StartDate) AND (EndDate) 3.单击“运行”(!)。您应该看到一个标有 Weekday 的新列以及每个工作日的名称。 4.在“数据集”窗口中,确保 Weekday 是字段。,10/4/2020,34,10/4/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数 (四、)添加新的报表参数 1.单击“布局”选项卡。 2.从“报表”菜单中

32、,选择“报表参数”。将打开“报表参数”对话框。 3.单击“添加”。新参数 Report_Parameter_2 会显示默认值。 4.在“属性”部分的“名称”文本框中,用 DayoftheWeek 替换 Report_Parameter_2。确保数据类型是 String。 5.在“提示”中,键入“筛选每周工作日:”。 6.清除“允许空白值”选项。 7.在“可用值”部分中,单击“无查询”。将这些项保留为空。 8.在“默认值”部分中,单击“无查询”。在文本框中,键入 Sunday。 9.单击“确定”。,10/4/2020,35,10/4/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参

33、数 (五、)使用参数表达式设置表筛选器 1.在“布局”视图中,选择该表。该表会显示一个灰色轮廓。 2.右键单击表轮廓并选择“属性”。将打开“表属性”对话框。 3.单击“筛选器”选项卡。 4.在“表达式”列中,从下拉列表选择 =Fields!Weekday.Value。 5.确保“运算符”是等号 (=)。 6.单击“值”文本框,并从下拉列表中选择 。将打开“编辑表达式”对话框。 7.在全局变量窗格中,单击“参数”。当前参数列表将显示在对应的窗格中。 8.双击 DayoftheWeek。该参数表达式便会添加至表达式文本框中。现在以下表达式显示在表达式文本框中: =Parameters!Dayoft

34、heWeek.Value。 9.单击“确定”。 10.单击“确定”。 表的筛选器现在被设置为将字段 Weekday 中的值与 DayoftheWeek 的参数值进行比较。例如,在报表工具栏中为 DayoftheWeek 输入值“星期日”时,报表处理器将仅处理表中字段 Weekday 的值是 Sunday 的行。 11.单击“预览”。由于所有参数都有默认值,因此报表会自动运行。该表将仅显示由 StartDate 和 EndDate 定义的日期范围中的值,以及有关 Sunday 的值。 12.在下一可选步骤中,将格式设置添加至表格表头。,10/4/2020,36,10/4/2020,将参数添加至基

35、本表格报表,二、添加按日期进行筛选的参数 (六、)(可选)为表格表头行设置背景色和字体颜色 1.单击“布局”选项卡。 2.单击表。将显示表控点。 3.单击表格表头行。单击布局工具栏中的“背景色”按钮。将打开“选择颜色”对话框。 4.从 Web 选项卡中,选择“深红色”。 5.单击“确定”。 接下来,选择字体颜色。 6.单击布局工具栏中的“前景色”按钮。将打开“选择颜色”对话框。 7.从 Web 选项卡中,选择“白色”。 8.单击“确定”。 9.单击“预览”。该表会呈现为表格表头行选择的颜色。,10/4/2020,37,10/4/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参

36、数 (一、)向 AdventureWorks 数据集查询添加查询参数 1.从“数据”选项卡的“数据集”下拉列表中,选择 AdventureWorks。 2.向查询中添加新的查询参数 SalesPersonID。在查询中,扩展 WHERE 子句以包括以下比较:AND S.SalesPersonID = (SalesPersonID)。 3.单击“运行”(!) 按钮。提示输入查询参数的值时,请使用下表来输入值。 4.单击“确定”。随即显示 SalesPersonID = 286 的销售人员 Ranjit Varkey Chudakatil 的结果集。 5.(可选)验证查询参数 SalesPerso

37、nID 是否具有值:=Parameters!SalesPersonID.Value。单击“编辑所选的数据集”() 按钮并选择“参数”选项卡。 6.(可选)验证是否已经为您自动创建了报表参数 SalesPersonID。从“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。验证 SalesPersonID 是否在“参数”窗格中。您将在本主题后面的过程中编辑该参数。 在下一步中,将创建一个为报表参数 SalesPersonID 的可用值下拉列表提供值的单独的数据集。,10/4/2020,38,10/4/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数 (二、)创建 Sa

38、lesPersons 可用值数据集 1.在“数据集”下拉列表中,选择 。将打开“数据集”对话框。 2.提供新数据集的名称。在“名称”字段中,键入 SalesPersons。该数据集将用于输入有效值列表。 3.在查询窗格中粘贴以下 Transact-SQL 查询: SELECT SP.SalesPersonID, C.FirstName, C.LastName FROM Sales.SalesPerson AS SP INNER JOIN HumanResources.Employee AS E ON E.EmployeeID = SP.SalesPersonID INNER JOIN Pers

39、on.Contact AS C ON C.ContactID = E.ContactID 4.单击“运行”(!) 按钮。SalesPersonID、FirstName 和 LastName 列显示在结果集中,并且显示为数据集 SalesPersons 中的字段。 虽然可以向查询添加计算字段(例如,向 SELECT 语句添加 LastName + N + FirstName as Name 作为附加列),但 Reporting Services 仍然提供了一种从现有数据集字段创建新计算字段的方法。如果查询使用检索一组预定义列的存储过程,则可以使用该功能。在下一步中,将为包含两个现有字段的数据集创

40、建一个新字段。,10/4/2020,39,10/4/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数 (三、)添加新的计算数据集字段 1.在“数据集”窗口中,右键单击 SalesPersons 数据集并选择“添加”。 如果“数据集”窗口未打开,请按 ALT+CTRL+D。 2.在“名称”文本框中,键入 Name。 3.选择“计算字段”选项。 4.在文本框中粘贴以下表达式: =Fields!LastName.Value + , + Fields!FirstName.Value 5.单击“确定”。 在数据工具栏中,单击“刷新字段”。新字段 Name 即显示在数据集 SalesP

41、ersons 的字段集合中。 在下一步中,将设置表数据区域属性 NoRows。如果从表的相关数据集中没有检索到数据,则显示该属性中的文本。,10/4/2020,40,10/4/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数 (四、)向表添加 NoRows 消息 1.单击“布局”选项卡以切换到“布局”视图。 2.从“视图”菜单中,选择“属性”窗口。 3.从“属性”窗口的对象下拉列表中,选择表。默认情况下,表名称为 table1。 4.在“属性”窗口中,滚动到 NoRows。 5.单击 NoRows 旁边的文本框,并输入以下文本: 没有适用于该参数组合的可用结果。 如果特定查

42、询参数的结果集没有生成行,则显示该消息。 6.(可选)单击“预览”。在 SalesPersonID 参数中,键入 1。将在表数据区域中显示 NoRows 消息。 在下一步中,将编辑自动生成的报表参数 SalesPersonID。将设置报表属性,以便在可用值下拉列表中显示销售人员的名称,而不是数据库标识符。,10/4/2020,41,10/4/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数 (五、)设置报表参数 SalesPersonID 的属性 1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。参数窗格中将显示 SalesPersonID 参数。 2.在“

43、数据类型”下拉列表中,选择 Integer。 3.在“提示”文本框中,键入“选择销售人员:”。 4.在“可用值”部分中,选择“来自查询”。 5.在“数据集”下拉列表中,选择 SalesPersons。 6.对于“值”字段,选择 SalesPersonID。 7.对于“标签”字段,选择 Name。 SalesPersonID 参数的有效值下拉列表现在将显示每个销售人员的名称,而不是 SalesPersonID。 8.在“默认值”部分中,选择“来自查询”。 9.在“数据集”下拉列表中,选择 SalesPersons。 10.对于“值”字段,选择 SalesPersonID。 11.单击“确定”。

44、12.单击“预览”选项卡。此报表将显示销售人员名称下拉列表。,10/4/2020,42,10/4/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 把 SalesOrderID 和 DayoftheWeek 参数从单值参数更改为多值参数。多值参数允许您为报表参数选择多个值。若要修改报表参数 SalesOrderID,需要更改 AdventureWorks 数据集的查询,以便对所选值集(并不等于单个值)中的 SalesPersonID 进行测试,并检查该报表参数的多值属性。若要修改 DayoftheWeek 报表参数,需要检查多值属性、设置来自新数据集的可用值,并为默认值提供

45、表达式。您将创建一个新数据集,为 DayoftheWeek 参数提供可用值。最后,将向报表添加一个文本框,以便为选择的 DayoftheWeek 显示参数值 (一、)打开销售订单报表 1.在 SQL Server Business Intelligence Development Studio 中,打开在上一课中创建的 Tutorial 报表服务器项目。 2.在解决方案资源管理器中,双击“销售订单”报表。将在“布局”视图中打开此报表。 3.单击“数据”选项卡。,10/4/2020,43,10/4/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 (二、)修改用于测试的数据集

46、查询,以便纳入值集 1.从“数据集”下拉列表中,选择 AdventureWorks。 2.将 SalesPersonID 测试从等式 (= (SalesPersonID) 更改为包含表达式 (IN (SalesPersonID),从而修改现有查询的 WHERE 子句。 用以下查询替换该数据集的查询字符串。 SELECT S.OrderDate, DATENAME(weekday, S.OrderDate) as Weekday, S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName FROM HumanResources.Employe

47、e E INNER JOIN Person.Contact C ON E.ContactID = C.ContactID INNER JOIN Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID WHERE ( S.OrderDate BETWEEN (StartDate) AND (EndDate) AND S.SalesPersonID IN (SalesPersonID) ) 3.单击“运行”(!) 按钮。提示输入查询参数的值时,请使用下表来输入值。查询设计器不支持测试多值参数。,10/4/2020,44,10/4/202

48、0,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 (三、)设置报表参数 SalesPersonID 的属性 1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。 2.在“参数”窗格中,选择 SalesPersonID。 3.在“属性”部分中,选中“多值”。 4.在“提示”文本框中,键入“选择销售人员:”。 5.单击“确定”。 6.单击“预览”选项卡。此报表将显示销售人员名称下拉列表。 注:系统将把“(全选)”值作为多值参数可用值下拉列表中的第一个值。使用该复选框可以选中或清除所有值。 SQL Server Service Pack 1 禁用了“全选”选项。,10/4

49、/2020,45,10/4/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 (四、)为 DaysoftheWeek 可用值添加新的数据集 1.在“数据”选项卡的“数据集”下拉列表中,选择 。 2.将数据源设置为 AdventureWorks 数据源。 3.在“名称”字段中,键入 WeekDaysfromQuery。 4.在查询窗格中粘贴以下查询字符串。、 SET DATEFIRST 1; SELECT DISTINCT DATEPART(weekday, S.OrderDate) as WeekDayNumber, DATENAME(weekday, S.OrderDat

50、e) as Weekday FROM Sales.SalesOrderHeader S Order by WeekDayNumber DATEFIRST 将设置要作为第一天的工作日。例如,SET DATEFIRST 7 将更改工作日的顺序,以便将星期日作为第一天。在本教程中,星期一是每周的第一天。 5.单击“确定”。 6.单击查询设计器工具栏中的“运行”(!)按钮。结果集将显示序号及每周的工作日。,10/4/2020,46,10/4/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 (五、)设置报表参数 DayoftheWeek 的属性 1.在“报表”菜单中,选择“报表参数

51、”。将打开“报表参数”对话框。 2.在“参数”窗格中,选择 DayoftheWeek。该参数在第 2 课中创建。 3.在“属性”部分中,选中“多值”。 4.在“提示”文本框中,键入“筛选每周工作日:”。 5.在“可用值”部分的“数据集”下拉列表中,选择 WeekDaysfromQuery。 6.从“值”字段下拉列表中,选择 Weekday。 7.从“标签”字段下拉列表中,选择 Weekday。 对于默认值,在第一个“值”文本框中键入“星期六”,在第二个“值”文本框中键入“星期日”。 8.单击“确定”。 可以预览该报表前,需要更改为表数据区域定义的筛选表达式以使用 IN 运算符,这是因为 Day

52、oftheWeek 参数现在是多值参数。,10/4/2020,47,10/4/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 (六、)更改筛选器以使用多值参数 1.在“布局”视图中,选择该表。该表会显示一个灰色轮廓。 2.右键单击表轮廓并选择“属性”。将打开“表属性”对话框。 3.单击“筛选器”选项卡。 4.在“表达式”列的下拉列表中,确保值为 =Fields!Weekday.Value。 5.将运算符由等号 (=) 更改为 In 运算符。 6.在“值”文本框的下拉列表中,确保值为 =Parameters!DayoftheWeek.Value。 7.单击“确定”。 表的筛

53、选器现在被设置为使用 In 运算符将字段 Weekday 的值与参数 DayoftheWeek 的值进行比较。为报表参数选择多个值时,筛选器将测试表的每一行,以查看 Weekday 字段是否存在于 DayoftheWeek 集合中。 8.单击“预览”选项卡。该报表会显示默认值为“星期六”和“星期日”的报表参数 DaysoftheWeek。,10/4/2020,48,10/4/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数 (七、)添加文本框以显示参数值 1.在“布局”视图中,选择该表。按数次向下键向下移动该表,并扩展报表高度。 2.从工具框中,将一个文本框拖动到该表上方。

54、选中该文本框的一边,扩展其宽度以与该表的宽度匹配。 关于该表达式,请注意以下几点: 您可以引用参数标签,但不能引用参数值。例如,可以引用 Parameters!SalesPersonID.Label,但不能引用 Parameters!SalesPersonID.Value。 若要处理参数集合中的各个成员,应使用从零开始的索引。例如:Parameters!SalesPersonID.Label(0)。 若要处理整个集合,不要使用索引。例如:Parameters!SalesPersonID.Value。 若要查找值的数目,请使用 Parameters!SalesPersonID.Count。 您还

55、可以查明参数是否是多值参数。例如:Parameters!SalesPersonID.IsMultivalue。 可以使用 Visual Basic Join 函数将多值参数中的所有选定值串联起来。例如,Join(Parameters!DayoftheWeek.Value, )。 3.单击“预览”。确保单击“查看报表”时,该文本框会显示在参数中选定的值。,10/4/2020,49,10/4/2020,将参数添加至基本表格报表,五、添加控制行可见性的参数 (一、)添加布尔值报表参数 1.在“报表”菜单中,单击“报表参数”。将打开“报表参数”对话框。 2.单击“添加”。“参数”窗格中将添加一个新报表

56、参数。 3.在“属性”部分的“名称”字段中,键入 ShowSalesOrderDetails。 4.在“数据类型”字段中,单击下拉箭头,然后选择 Boolean。 5.在“提示”字段中,键入提示问题。例如,“是否显示销售订单详细信息?”。 6.在“可用值”部分中,确保选中“无查询”。对于布尔值参数,忽略可用值。 7.在“默认值”部分中,选择“无查询”。 8.在文本框内单击,并键入下列表达式: =true 9.(可选)单击“预览”查看在工具栏上具有单选按钮的新 ShowSalesOrderDetails 参数。,10/4/2020,50,10/4/2020,将参数添加至基本表格报表,五、添加控制

57、行可见性的参数 (二、)在表详细信息行的可见性属性中添加表达式 1.在“布局”视图中,在表数据区域内单击。将显示表控点。 2.右键单击详细信息行控点并选择“属性”。“属性”窗口中将显示此表行的属性。 3.找到“可见性”属性并展开节点。将显示“隐藏”字段,并具有默认值 false。 4.在值字段中单击,然后单击下拉箭头。选择“”。将打开“编辑表达式”对话框。 5.在表达式生成器窗格中,用等号 (=) 代替值 false。每一个非常量表达式均以此字符开头。 6.在表达式生成器下面的窗格中选择“参数”。将在反向窗格中显示报表参数列表。 7.双击 ShowSalesOrderDetails 参数。此参

58、数值的表达式将添加到表达式生成器窗格中。 8.参数 ShowSalesOrderDetails 为 true 时,“隐藏”属性需要为 false。在表达式中添加 Not 运算符。 其值现在应为: =Not Parameters!ShowSalesOrderDetails.Value 9.单击“确定”。 10.单击“预览”并测试参数 ShowSalesOrderDetails,方法是更改此参数的值然后单击“查看报表”查看其效果。,10/4/2020,51,10/4/2020,将参数添加至基本表格报表,五、添加控制行可见性的参数 (三、)在表列的可见性属性中添加表达式 1.在“布局”视图中,在表数

59、据区域内单击。将显示表控点。 2.单击“订单日期”和“销售订单号”的列标题。“属性”窗口中将显示这两个表列标题的属性。 3.找到“可见性”属性并展开节点。将显示“隐藏”字段,并具有默认值 false。 4.复制下列表达式: =Not Parameters!ShowSalesOrderDetails.Value 5.在“隐藏”字段值内单击右键。选择“粘贴”。 6.在“属性”窗口之外单击。 7.单击“预览”并将 ShowSalesOrderDetails 设置为 false。将隐藏“订单日期”和“销售订单号”列。,10/4/2020,52,10/4/2020,将参数添加至基本表格报表,五、添加控制

60、行可见性的参数 (四、)(可选)将组小计从组尾移至组头 1.在“布局”视图中,在表数据区域内单击。将显示表控点。 2.在组尾行,复制行中最后一个文本框中的组和表达式。将表达式粘贴到 头行中。“应付款总计”列标题下的第一个文本框中现在应包含下列表达式:=Sum(Fields!TotalDue.Value)。 使用具体的表组范围时,无论将组总计置于组头还是组尾对实际合计值均无影响。 3.在具有应付款总计表达式的组标题文本框的“属性”窗口中,滚动到“格式”属性,然后键入 C0。这用于设置货币格式。 4.在表组标题控点中右键单击,并选择“编辑组”。将打开“分组和排序”对话框。 5.清除“包括组尾”复选

61、框。 6.单击“确定”。 7.单击“预览”,将 ShowSalesOrderDetails 设置为 false,然后单击“查看报表”。将只显示销售人员姓名和应付款总计字段。,10/4/2020,53,10/4/2020,将参数添加至基本表格报表,六、添加要传递给钻取报表的参数 (一、)将现有报表导入到报表服务器项目 1.在解决方案资源管理器中,右键单击“报表”文件夹。选择“添加”,然后选择“现有项”。将打开“添加现有项”对话框。 2.导航到安装 AdventureWorks 示例报表的文件夹。默认目录是 C:Program FilesMicrosoft SQL Server90SamplesR

62、eporting ServicesReport SamplesAdventureWorks Sample Reports。选择 Sales Order Details.rdl。此报表随即添加到报表项目中。 现在需要将数据集数据源绑定到 AdventureWorks 数据库。 3.在解决方案资源管理器中,双击 Sales Order Details.rdl。 4.单击“数据”选项卡。此时出现错误“无法与数据库建立连接”。 需要修改此报表中这两个数据集的数据源以指向系统上的 AdventureWorks 数据源。 5.在“数据集”下拉列表中,选择 SalesOrder。 6.单击“编辑数据集” (

63、) 按钮。将打开“数据集”对话框。 7.在数据源下拉列表旁边,单击“编辑数据源” () 按钮。将打开“数据源”对话框。 8.确认“类型”为 Microsoft SQL Server。 9.单击“连接字符串”窗格旁边的 “编辑”。将打开“连接属性”对话框。 10.输入系统的服务器名称和身份验证。独立的系统通常使用 localhost 作为服务器名并使用 Windows 身份验证。 11.在“连接到数据库”部分,键入 AdventureWorks。 12.单击“测试连接”。如果连接没有成功,请与数据库管理员联系。 13.单击“确定”。 14.对于 SalesOrderDetail 数据集,重复步骤

64、 5-13。,10/4/2020,54,10/4/2020,将参数添加至基本表格报表,六、添加要传递给钻取报表的参数 (二、)向报表添加报表钻取操作 1.在解决方案资源管理器中,双击 Sales Order.rdl。 2.单击“布局”选项卡以切换到“布局”视图。 3.在销售订单列,单击详细信息行文本框。文本框中的值应为 =Fields!SalesOrderNumber.Value。 4.右键单击文本框,并选择“属性”。将打开“文本框属性”对话框。 5.单击“导航”选项卡。 6.在“超链接”部分,单击“跳至报表”。 7.在文本框的下拉列表中选择 Sales Order Detail。 8.单击“

65、参数”按钮。将打开“参数”对话框。 9.在显示了为钻取报表定义的参数的“参数名称”下拉列表中,选择 SalesOrderNumber。 10.单击“参数值”文本框。在此下拉列表中,选择 =Fields!SalesOrderNumber.Value。 11.单击“确定”。 下一步将更改钻取链接的文本类型和颜色。 12.单击“字体”选项卡。 13.在“效果”下拉列表中,选择“下划线”。 14.单击“确定”。 15.在该文本框的“属性”窗口中,单击“颜色”属性文本框。在此下拉列表中,选择“表达式”。“表达式编辑器”将打开。 16.用以下表达式替换默认文本“黑色”。 =Parameters!MyFon

66、tColor.Value 添加的文本框现在具有带下划线的文本,并且将按照参数 MyFontColor 中设置的颜色显示。这种直观的表示方式有助于报表读者了解存在指向另一个报表的活动链接。 在可以预览报表之前,您必须按照下一步骤定义 MyFontColor 参数。,10/4/2020,55,10/4/2020,将参数添加至基本表格报表,六、添加要传递给钻取报表的参数 (三、)创建用于字体颜色的内部报表参数 1.在“布局”视图的“报表”菜单上,单击“报表参数”。此时将打开“报表参数”对话框。 2.单击“添加”。将创建一个具有属性默认设置的新参数。 3.在“属性”部分的“名称”属性中,键入 MyFontColor。 4.验证“数据类型”是否为 String。 5.选中“隐藏”复选框。“提示”属性已禁用。 6.验证“默认值”是否为“无查询”。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!