《ReportingService 报表开发工具介绍.ppt》由会员分享,可在线阅读,更多相关《ReportingService 报表开发工具介绍.ppt(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ReportingService报表开发工具介绍 中国人寿统计信息项目小组 2005-11-141/2/20231提纲一、ReportingServices工具简介二、创建基本报表三、向基本报表中添加分组、排序和格式设置四、将参数添加至基本表格报表五、使用参数的高级功能1/2/20231/2/20232ReportingServices工具ReportingServices配置工具报表管理器开发常用的几种工具报表生成器1/2/20231/2/20233ReportingServices工具启动ReportingServices配置工具1.单击“开始”,依次指向“程序”、MicrosoftSQL
2、Server2005和“配置工具”,再单击“ReportingServices配置”。此时将出现“选择报表服务器安装实例”对话框,可以选择要配置的报表服务器实例。2.在“计算机名称”中,指定安装报表服务器实例的计算机名称。指定的默认值是本地计算机名称,但也可以键入远程SQL服务器实例的名称。如果指定远程计算机,请单击“查找”以建立一个连接。必须事先配置报表服务器,以便进行远程管理。3.在“实例名称”中,选择要配置的SQLServer2005ReportingServices实例。在列表中只显示SQLServer2005报表服务器实例。不能配置较早版本的ReportingServices。4.单
3、击“连接”。5.若要验证是否已启动工具,请将您的结果与下图进行比较:(见下页)1/2/20231/2/20234ReportingServices工具1/2/20231/2/20235ReportingServices工具报表管理器若要使用基于Web的工具来设置权限、管理订阅和计划以及处理报表和模型,请使用报表管理器。也可以使用报表管理器来查看报表。必须拥有足够的权限才能打开报表管理器(最初,只有本地Administrators组的成员拥有访问报表管理器功能的权限)。报表管理器根据当前用户的角色分配提供不同的页和选项。没有权限的用户将得到一个空页。拥有查看报表权限的用户将获得链接,用户点击这些
4、链接可以打开报表。报表管理器启动操作如下:1.打开MicrosoftInternetExplorer6.0或更高版本。2.在Web浏览器的“地址”栏中,键入报表管理器URL。默认情况下,该URL为http:/reports。可以使用ReportingServices配置工具来确认服务器名称和虚拟目录名称。3.报表管理器将在浏览器窗口中打开。启动页为主文件夹。根据权限,您可能看到启动页中的其他文件夹、指向报表的超链接和资源文件。也可能在工具栏上看到其他按钮和命令。4.若要验证是否已启动工具,请将您的结果与下图进行比较:1/2/20231/2/20236ReportingServices工具一、M
5、anagementStudio二、带有报表设计器和模型设计器的BusinessIntelligenceDevelopmentStudio2.1.报表设计器2.2.模型设计器1/2/20231/2/20237ReportingServices工具ManagementStudio1/2/20231/2/20238ReportingServices工具带有报表设计器和模型设计器的BusinessIntelligenceDevelopmentStudio报表设计器1/2/20231/2/20239ReportingServices工具带有报表设计器和模型设计器的BusinessIntelligence
6、DevelopmentStudio模型设计器1/2/20231/2/202310ReportingServices工具报表生成器1.在Web浏览器中,在地址栏键入报表管理器的URL。默认情况下,该URL为http:/reports。2.单击“报表生成器”。报表生成器按钮与其他按钮均位于工具栏上:如果没有看到报表生成器按钮,可能是您没有权限。3.若要验证是否已启动工具,请将您的结果与下图进行比较:1/2/20231/2/202311创建基本报表一、创建报表服务器项目二、设置连接信息三、定义报表查询四、添加表数据区域五、预览基本报表1/2/20231/2/202312创建基本报表一、创建报表服务项
7、目(一、)创建报表服务项目1.单击“开始”,依次指向“程序”和MicrosoftSQLServer2005,再单击BusinessIntelligenceDevelopmentStudio。2.在“文件”菜单上,指向“新建”,再单击“项目”。3.在“项目类型”列表中,单击“商业智能项目”。4.在“模板”列表中,单击“报表服务器项目”。5.在“名称”中,键入Tutorial。6.单击“确定”以创建项目。解决方案资源管理器中将显示Tutorial项目。1/2/20231/2/202313创建基本报表1/2/2023一、创建报表服务项目(二、)创建新的报表定义文件1.在解决方案资源管理器中,右键单击
8、“报表”,指向“添加”,再单击“新建项”。注:如果解决方案资源管理器窗口不可见,请单击“视图”菜单中的“解决方案资源管理器”。2.在“添加新项”中,单击“报表”。下面的关系图显示了“添加新项”对话框,该对话框用于向项目中添加报表和其他项。3.在“名称”中,键入SalesOrders.rdl,再单击“添加”。此时报表设计器将打开,并在“数据”视图中显示新的.rdl文件。1/2/202314创建基本报表二、设置连接信息1.在“数据”选项卡中,展开页面顶部“数据集”下拉列表的内容,并选择“新建数据集”。此时,将显示“数据源”对话框。2.在“名称”中,键入AdventureWorks。3.在“类型”中
9、,选择MicrosoftSQLServer。4.在“连接字符串”中,键入以下内容:Datasource=(local);initialcatalog=AdventureWorks该连接字符串假定BusinessIntelligenceDevelopmentStudio、报表服务器和AdventureWorks数据库都已安装在本地计算机中,并且您拥有登录AdventureWorks数据库的权限。如果使用的是具有高级服务或命名实例的SQLServer2005ExpressEdition,则连接字符串必须包括实例信息:Datasource=localhostSQLEXPRESS;initialcat
10、alog=AdventureWorks5.单击“确定”。AdventureWorks将添加到“数据集”窗格中。1/2/20231/2/202315创建基本报表三、定义报表查询定义了数据源之后,报表设计器将创建一个数据集,并显示可用于设计查询的通用查询设计器。在本教程中,您将创建一个查询,用于从数据库中检索销售订单信息。通用查询设计器是默认的查询设计工具,因为它能处理复杂的Transact-SQL语句,并且直到运行报表时才对语句进行格式设置或验证。但是,如果您比较熟悉图形查询设计器,则可使用此工具代替通用查询设计器。查询设计器工具栏上的切换按钮可用来在工具之间进行切换。若要为报表数据定义Tran
11、sact-SQL查询,请执行以下操作:1.将以下查询键入(或复制并粘贴)到通用查询设计器的SQL窗格中,SQL窗格是设计工具中最上层的窗格。上述步骤下面所列的关系图显示了应该指定查询的位置。SELECTS.OrderDate,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.ContactCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPers
12、onID2.若要查看查询的结果,请单击查询设计器工具栏上的“运行”(!)按钮。1/2/20231/2/202316创建基本报表四、添加表数据区域1.单击单击“布局布局”选项卡。选项卡。2.在在“工具箱工具箱”中,单击中,单击“表表”,再单击设计图面。报表设计器将在设计图面的宽度内绘,再单击设计图面。报表设计器将在设计图面的宽度内绘制一个具有三列的表。制一个具有三列的表。3.在在“数据库数据库”窗口中,展开报表数据集以显示字段。窗口中,展开报表数据集以显示字段。4.将将 OrderDate 字段从字段从“数据集数据集”窗口拖到此表第一列的中间行(详细信息行)中。窗口拖到此表第一列的中间行(详细信
13、息行)中。当将字段拖到中间单元时,会发生两件事。首先,详细信息单元将包含下面的文本:当将字段拖到中间单元时,会发生两件事。首先,详细信息单元将包含下面的文本:“=Fields!OrderDate.Value”。该文本是为。该文本是为 OrderDate 字段指定数据值的字段表达式。字段指定数据值的字段表达式。添加到详细信息行的字段始终被指定为表达式。其次,列标题值自动放置在紧邻字段添加到详细信息行的字段始终被指定为表达式。其次,列标题值自动放置在紧邻字段表达式上面的第一行。默认情况下,该列是字段的名称。表达式上面的第一行。默认情况下,该列是字段的名称。5.将将 SalesOrderNumber
14、 字段从字段从“数据集数据集”窗口拖到此表第二列的中间行(详细信息窗口拖到此表第二列的中间行(详细信息行)中。行)中。6.将将 TotalDue 字段从字段从“数据集数据集”窗口拖到此表第三列的中间行(详细信息行)中。窗口拖到此表第三列的中间行(详细信息行)中。1/2/20231/2/202317创建基本报表五、预览基本报表1.保存报表项目。在保存报表项目。在“文件文件”菜单中,单击菜单中,单击“全部保存全部保存”。2.单击单击“预览预览”选项卡。报表设计器将运行此报表,并将其显示在预览视图中。选项卡。报表设计器将运行此报表,并将其显示在预览视图中。下图在下图在“预览预览”窗口中显示此报表。窗
15、口中显示此报表。1/2/20231/2/202318向基本报表中添加分组、排序和格式设置 一、打开教程项目一、打开教程项目 二、添加组二、添加组 三、添加新建列三、添加新建列 四、对详细信息数据排序四、对详细信息数据排序 五、添加小计五、添加小计 六、应用格式和样式六、应用格式和样式 七、发布已更新的报表七、发布已更新的报表1/2/20231/2/202319向基本报表中添加分组、排序和格式设置一、打开教程项目1.单击单击“开始开始”,依次指向,依次指向“程序程序”、Microsoft SQL Server 2005,再,再单击单击 Business Intelligence Developm
16、ent Studio。2.在在“文件文件”菜单中,指向菜单中,指向“打开打开”,再单击,再单击“项目项目/解决方案解决方案”。3.导航到在上一个教程中创建的项目文件的位置。该项目应该位于导航到在上一个教程中创建的项目文件的位置。该项目应该位于“教程教程”文件夹中。文件夹中。4.单击单击 Tutorial.rptproj,再单击,再单击“打开打开”。5.在解决方案资源管理器窗口中,双击在解决方案资源管理器窗口中,双击 Sales Orders.rdl 可打开此可打开此报表。如有必要,单击报表。如有必要,单击“布局布局”选项卡,以在选项卡,以在“布局布局”视图中打开此报视图中打开此报表。表。1/2
17、/20231/2/202320向基本报表中添加分组、排序和格式设置二、添加组1.在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。2.右键单击任一行的句柄,再单击“插入组”。3.在“常规”选项卡上,对于“分组方式”,选择第一行的=Fields!LastName.Value和第二行的=Fields!FirstName.Value”。此操作将按销售人员的姓名对数据进行分组。4.在“排序”选项卡上,对于“排序方式”,选择第一行的=Fields!LastName.Value和第二行的=Fields!FirstName.Value”,其中每一个选项都按“升序”排序。此操作将按销售人员的姓名对
18、分组进行排序。5.单击“确定”。组头和组尾这两个新行将添加到此表中。1/2/20231/2/202321向基本报表中添加分组、排序和格式设置三、添加新建列1.单击表,以便在此表的上方和旁边显示列句柄和行句柄。2.在第一列(OrderDate)上,右键单击句柄,再单击“在左侧插入列”。3.单击新列中的第二个单元,然后键入以下表达式。第二个单元应该位于在前面的步骤中添加的新组的行中:=Fields!FirstName.Value+Fields!LastName.Value4.单击第一列中的第一个单元,然后键入SalesPerson。这是表格表头中列的标签。1/2/20231/2/202322向基本
19、报表中添加分组、排序和格式设置四、对详细信息数据排序1.在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。2.右键单击角部句柄,再单击“属性”按钮。3.在“排序”选项卡的“排序方式”中,选择=Fields!OrderDate.Value。此时将按订单日期对详细信息数据排序。4.单击“确定”。1/2/20231/2/202323向基本报表中添加分组、排序和格式设置五、添加小计单击最后一列(应付款总计)中的第四个单元格,然后键入以下表达式:=Sum(Fields!TotalDue.Value)1/2/20231/2/202324向基本报表中添加分组、排序和格式设置六、应用格式和样式(一
20、、)日期格式1.右键单击带OrderDate字段表达式的单元格,再单击“属性”。“文本框属性”对话框随即显示。2.打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式”对话框。3.对于“格式”,请依次选择“标准”、“日期”,然后选择列表中的第三个示例(短日期)。4.单击“确定”,关闭“选择格式”对话框,然后再次单击“确定”,关闭“文本框属性”对话框。1/2/20231/2/202325向基本报表中添加分组、排序和格式设置六、应用格式和样式(二、)货币格式1.右键单击带TotalDue字段表达式的单元格,然后单击“属性”。2.打开“格式”选项卡,单击浏览按钮(以省略号按钮
21、标签表示),以便打开“选择格式”对话框。3.对于“格式”,请依次选择“标准”、“货币”,单击“确定”,然后再次单击“确定”,关闭“文本框属性”对话框。1/2/20231/2/202326向基本报表中添加分组、排序和格式设置六、应用格式和样式(三、)文本样式和列宽1.单击表,以便在此表的上方和旁边显示列句柄和行句柄。2.选择第一行、第二行和第四行(包含列标题标签的行、组头行和组尾行)的行句柄,然后在格式设置工具栏上,单击“粗体”(“B”)按钮。3.指向列句柄之间的行,使游标变为双箭头。拖动列,调整到所需大小。1/2/20231/2/202327向基本报表中添加分组、排序和格式设置七、发布已更新的
22、报表1.在解决方案资源管理器窗口中,右键单击“教程”项目,再单击“属性”。2.单击配置管理器。3.在配置管理器对话框的“活动的解决方案配置”中,选择“生产”。4.单击“关闭”。5.在“教程属性页”对话框的TargetServerURL中,键入报表服务器的虚拟目录;例如http:/servername/reportserver。(这是报表服务器的虚拟目录,而不是报表管理器的虚拟目录。)6.如果“调试”属性节点尚未打开,请将其展开以显示StartItem属性。单击StartItem旁边的文本框,并从下拉列表中选择报表SalesOrder.rdl。7.单击“确定”。8.保存报表项目。在“文件”菜单上
23、,单击“全部保存”。9.发布报表。在“调试”菜单上,单击“开始执行(不调试)”。10.发布完成后,报表设计器将打开InternetExplorer。单击“销售订单”即可查看该报表。1/2/20231/2/202328将参数添加至基本表格报表一、创建参数教程的报表服务器项目创建参数教程的报表服务器项目二、添加按日期进行筛选的参数添加按日期进行筛选的参数 三、添加具有可用值列表的单值参数三、添加具有可用值列表的单值参数 四、添加具有四、添加具有“全选全选”值的多值参数值的多值参数 五、添加控制行可见性的参数五、添加控制行可见性的参数 六、添加要传递给钻取报表的参数六、添加要传递给钻取报表的参数1/
24、2/20231/2/202329将参数添加至基本表格报表一、创建参数教程的报表服务器项目参数教程的报表服务器项目1.单击“开始”,依次指向“程序”、MicrosoftSQLServer2005,再单击BusinessIntelligenceDevelopmentStudio。2.在“文件”菜单上,指向“打开”,然后单击“项目/解决方案”。3.导航到在上一个教程中创建的项目文件的位置。该项目应该位于“教程”文件夹中。4.单击Tutorial.rptproj,再单击“打开”。5.在解决方案资源管理器窗口中,双击SalesOrders.rdl可打开此报表。如有必要,单击“数据”选项卡,以在“数据”视
25、图中打开此报表。1/2/20231/2/202330将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数(一、)将日期参数添加至查询1.在“数据”视图中,选择AdventureWorks数据集。2.用以下查询替换现有的查询:SELECTS.OrderDate,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.ContactCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHead
26、erSONE.EmployeeID=S.SalesPersonIDWHERE(S.OrderDateBETWEEN(StartDate)AND(EndDate)-AccurateEnddatewouldbe2002022823:59:59.9973.在工具栏上单击“运行”(!)。将打开“定义查询参数”对话框。4.在“参数值”列中,为StartDate输入值。例如,20010101。5.在“参数值”列中,为EndDate输入值。例如,20030101。6.单击“确定”。系统会自动创建报表参数StartDate和EndDate,并将数据类型默认设置为String。在接下来的三个步骤中,将把这些参数
27、设置为数据类型DateTime。1/2/20231/2/202331将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数(一、)将日期参数添加至查询7.在“报表”菜单中,单击“报表参数”。将打开“报表参数”对话框。8.在“参数”列表框中,确保突出显示StartDate。在“数据类型”下拉列表中,选择DateTime。9.在“参数”列表框中,选择EndDate。在“数据类型”下拉列表中,选择DateTime。10.单击“确定”。11.单击“预览”。StartDate和EndDate参数将分别随一个日历控件显示在工具栏中。参数的数据类型是DateTime并且未定义可用值列表
28、时,日历控件便会自动显示。定义可用值列表将创建一个值下拉列表,而不是日历控件。12.在本教程中,您将为参数输入值,而并不使用日历控件。13.在StartDate参数文本框中,输入日期2001-01-01。14.在EndDate参数文本框中,输入日期2003-01-01。15.单击“查看报表”。报表将仅显示位于报表参数值范围中的数据记录。1/2/20231/2/202332将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数 (二、)(二、)为日期参数设置默认值为日期参数设置默认值1.在“布局”视图中,单击“报表”菜单中的“报表参数”。将打开“报表参数”对话框。2.在“参
29、数”列表框中,确保突出显示StartDate。3.在默认值部分中,选择“无查询”并键入2001-01-01。按Tab键退出该文本框。4.在“参数”列表框中,选择EndDate。5.在默认值部分中,选择“无查询”并键入2003-01-01。按Tab键退出该文本框。6.单击“确定”。7.单击“预览”。由于为所有参数定义了默认值,因此报表会立即运行。报表用户运行报表时,可以使用位于查询参数作用域范围中的参数值来设置默认值。例如,您可以提供将所呈现数据限定为一个月的报表参数值。1/2/20231/2/202333将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数(三、)将新字
30、段添加至查询以用于筛选1.在“数据”视图中,选择AdventureWorks数据集。2.在查询中,将以下命令添加至SELECT语句,以便为发生销售业务的工作日另外定义一个计算列:DATENAME(weekday,S.OrderDate)asWeekday。用以下文本替换现有的查询:SELECTS.OrderDate,DATENAME(weekday,S.OrderDate)asWeekday,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.Contac
31、tCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPersonIDWHERE(S.OrderDateBETWEEN(StartDate)AND(EndDate)3.单击“运行”(!)。您应该看到一个标有Weekday的新列以及每个工作日的名称。4.在“数据集”窗口中,确保Weekday是字段。1/2/20231/2/202334将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数(四、)添加新的报表参数1.单击“布局”选项卡。2.从“报表”菜单中,选择“报表参
32、数”。将打开“报表参数”对话框。3.单击“添加”。新参数Report_Parameter_2会显示默认值。4.在“属性”部分的“名称”文本框中,用DayoftheWeek替换Report_Parameter_2。确保数据类型是String。5.在“提示”中,键入“筛选每周工作日:”。6.清除“允许空白值”选项。7.在“可用值”部分中,单击“无查询”。将这些项保留为空。8.在“默认值”部分中,单击“无查询”。在文本框中,键入Sunday。9.单击“确定”。1/2/20231/2/202335将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数(五、)使用参数表达式设置表筛
33、选器1.在“布局”视图中,选择该表。该表会显示一个灰色轮廓。2.右键单击表轮廓并选择“属性”。将打开“表属性”对话框。3.单击“筛选器”选项卡。4.在“表达式”列中,从下拉列表选择=Fields!Weekday.Value。5.确保“运算符”是等号(=)。6.单击“值”文本框,并从下拉列表中选择。将打开“编辑表达式”对话框。7.在全局变量窗格中,单击“参数”。当前参数列表将显示在对应的窗格中。8.双击DayoftheWeek。该参数表达式便会添加至表达式文本框中。现在以下表达式显示在表达式文本框中:=Parameters!DayoftheWeek.Value。9.单击“确定”。10.单击“确定
34、”。表的筛选器现在被设置为将字段Weekday中的值与DayoftheWeek的参数值进行比较。例如,在报表工具栏中为DayoftheWeek输入值“星期日”时,报表处理器将仅处理表中字段Weekday的值是Sunday的行。11.单击“预览”。由于所有参数都有默认值,因此报表会自动运行。该表将仅显示由StartDate和EndDate定义的日期范围中的值,以及有关Sunday的值。12.在下一可选步骤中,将格式设置添加至表格表头。1/2/20231/2/202336将参数添加至基本表格报表二、添加按日期进行筛选的参数添加按日期进行筛选的参数(六、)(可选)为表格表头行设置背景色和字体颜色1.
35、单击“布局”选项卡。2.单击表。将显示表控点。3.单击表格表头行。单击布局工具栏中的“背景色”按钮。将打开“选择颜色”对话框。4.从Web选项卡中,选择“深红色”。5.单击“确定”。接下来,选择字体颜色。6.单击布局工具栏中的“前景色”按钮。将打开“选择颜色”对话框。7.从Web选项卡中,选择“白色”。8.单击“确定”。9.单击“预览”。该表会呈现为表格表头行选择的颜色。1/2/20231/2/202337将参数添加至基本表格报表三、添加具有可用值列表的单值参数(一、)向AdventureWorks数据集查询添加查询参数1.从“数据”选项卡的“数据集”下拉列表中,选择AdventureWork
36、s。2.向查询中添加新的查询参数SalesPersonID。在查询中,扩展WHERE子句以包括以下比较:ANDS.SalesPersonID=(SalesPersonID)。3.单击“运行”(!)按钮。提示输入查询参数的值时,请使用下表来输入值。4.单击“确定”。随即显示SalesPersonID=286的销售人员RanjitVarkeyChudakatil的结果集。5.(可选)验证查询参数SalesPersonID是否具有值:=Parameters!SalesPersonID.Value。单击“编辑所选的数据集”()按钮并选择“参数”选项卡。6.(可选)验证是否已经为您自动创建了报表参数Sa
37、lesPersonID。从“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。验证SalesPersonID是否在“参数”窗格中。您将在本主题后面的过程中编辑该参数。在下一步中,将创建一个为报表参数SalesPersonID的可用值下拉列表提供值的单独的数据集。1/2/20231/2/202338将参数添加至基本表格报表三、添加具有可用值列表的单值参数(二、)创建SalesPersons可用值数据集1.在“数据集”下拉列表中,选择。将打开“数据集”对话框。2.提供新数据集的名称。在“名称”字段中,键入SalesPersons。该数据集将用于输入有效值列表。3.在查询窗格中粘贴以下Tra
38、nsact-SQL查询:SELECTSP.SalesPersonID,C.FirstName,C.LastNameFROMSales.SalesPersonASSPINNERJOINHumanResources.EmployeeASEONE.EmployeeID=SP.SalesPersonIDINNERJOINPerson.ContactASCONC.ContactID=E.ContactID4.单击“运行”(!)按钮。SalesPersonID、FirstName和LastName列显示在结果集中,并且显示为数据集SalesPersons中的字段。虽然可以向查询添加计算字段(例如,向SEL
39、ECT语句添加LastName+N+FirstNameasName作为附加列),但ReportingServices仍然提供了一种从现有数据集字段创建新计算字段的方法。如果查询使用检索一组预定义列的存储过程,则可以使用该功能。在下一步中,将为包含两个现有字段的数据集创建一个新字段。1/2/20231/2/202339将参数添加至基本表格报表三、添加具有可用值列表的单值参数(三、)添加新的计算数据集字段1.在“数据集”窗口中,右键单击SalesPersons数据集并选择“添加”。如果“数据集”窗口未打开,请按ALT+CTRL+D。2.在“名称”文本框中,键入Name。3.选择“计算字段”选项。4
40、.在文本框中粘贴以下表达式:=Fields!LastName.Value+,+Fields!FirstName.Value5.单击“确定”。在数据工具栏中,单击“刷新字段”。新字段Name即显示在数据集SalesPersons的字段集合中。在下一步中,将设置表数据区域属性NoRows。如果从表的相关数据集中没有检索到数据,则显示该属性中的文本。1/2/20231/2/202340将参数添加至基本表格报表三、添加具有可用值列表的单值参数(四、)向表添加NoRows消息1.单击“布局”选项卡以切换到“布局”视图。2.从“视图”菜单中,选择“属性”窗口。3.从“属性”窗口的对象下拉列表中,选择表。默
41、认情况下,表名称为table1。4.在“属性”窗口中,滚动到NoRows。5.单击NoRows旁边的文本框,并输入以下文本:没有适用于该参数组合的可用结果。如果特定查询参数的结果集没有生成行,则显示该消息。6.(可选)单击“预览”。在SalesPersonID参数中,键入1。将在表数据区域中显示NoRows消息。在下一步中,将编辑自动生成的报表参数SalesPersonID。将设置报表属性,以便在可用值下拉列表中显示销售人员的名称,而不是数据库标识符。1/2/20231/2/202341将参数添加至基本表格报表三、添加具有可用值列表的单值参数(五、)设置报表参数SalesPersonID的属性
42、1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。参数窗格中将显示SalesPersonID参数。2.在“数据类型”下拉列表中,选择Integer。3.在“提示”文本框中,键入“选择销售人员:”。4.在“可用值”部分中,选择“来自查询”。5.在“数据集”下拉列表中,选择SalesPersons。6.对于“值”字段,选择SalesPersonID。7.对于“标签”字段,选择Name。SalesPersonID参数的有效值下拉列表现在将显示每个销售人员的名称,而不是SalesPersonID。8.在“默认值”部分中,选择“来自查询”。9.在“数据集”下拉列表中,选择SalesPer
43、sons。10.对于“值”字段,选择SalesPersonID。11.单击“确定”。12.单击“预览”选项卡。此报表将显示销售人员名称下拉列表。1/2/20231/2/202342将参数添加至基本表格报表四、添加具有“全选”值的多值参数把SalesOrderID和DayoftheWeek参数从单值参数更改为多值参数。多值参数允许您为报表参数选择多个值。若要修改报表参数SalesOrderID,需要更改AdventureWorks数据集的查询,以便对所选值集(并不等于单个值)中的SalesPersonID进行测试,并检查该报表参数的多值属性。若要修改DayoftheWeek报表参数,需要检查多值
44、属性、设置来自新数据集的可用值,并为默认值提供表达式。您将创建一个新数据集,为DayoftheWeek参数提供可用值。最后,将向报表添加一个文本框,以便为选择的DayoftheWeek显示参数值(一、)打开销售订单报表1.在SQLServerBusinessIntelligenceDevelopmentStudio中,打开在上一课中创建的Tutorial报表服务器项目。2.在解决方案资源管理器中,双击“销售订单”报表。将在“布局”视图中打开此报表。3.单击“数据”选项卡。1/2/20231/2/202343将参数添加至基本表格报表四、添加具有“全选”值的多值参数(二、)修改用于测试的数据集查询
45、,以便纳入值集1.从“数据集”下拉列表中,选择AdventureWorks。2.将SalesPersonID测试从等式(=(SalesPersonID)更改为包含表达式(IN(SalesPersonID),从而修改现有查询的WHERE子句。用以下查询替换该数据集的查询字符串。SELECTS.OrderDate,DATENAME(weekday,S.OrderDate)asWeekday,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.ContactCO
46、NE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPersonIDWHERE(S.OrderDateBETWEEN(StartDate)AND(EndDate)ANDS.SalesPersonIDIN(SalesPersonID)3.单击“运行”(!)按钮。提示输入查询参数的值时,请使用下表来输入值。查询设计器不支持测试多值参数。1/2/20231/2/202344将参数添加至基本表格报表四、添加具有“全选”值的多值参数(三、)设置报表参数SalesPersonID的属性1.在“报表”菜单
47、中,选择“报表参数”。将打开“报表参数”对话框。2.在“参数”窗格中,选择SalesPersonID。3.在“属性”部分中,选中“多值”。4.在“提示”文本框中,键入“选择销售人员:”。5.单击“确定”。6.单击“预览”选项卡。此报表将显示销售人员名称下拉列表。注:系统将把“(全选)”值作为多值参数可用值下拉列表中的第一个值。使用该复选框可以选中或清除所有值。SQLServerServicePack1禁用了“全选”选项。1/2/20231/2/202345将参数添加至基本表格报表四、添加具有“全选”值的多值参数(四、)为DaysoftheWeek可用值添加新的数据集1.在“数据”选项卡的“数据
48、集”下拉列表中,选择。2.将数据源设置为AdventureWorks数据源。3.在“名称”字段中,键入WeekDaysfromQuery。4.在查询窗格中粘贴以下查询字符串。、SETDATEFIRST1;SELECTDISTINCTDATEPART(weekday,S.OrderDate)asWeekDayNumber,DATENAME(weekday,S.OrderDate)asWeekdayFROMSales.SalesOrderHeaderSOrderbyWeekDayNumberDATEFIRST将设置要作为第一天的工作日。例如,SETDATEFIRST7将更改工作日的顺序,以便将星期
49、日作为第一天。在本教程中,星期一是每周的第一天。5.单击“确定”。6.单击查询设计器工具栏中的“运行”(!)按钮。结果集将显示序号及每周的工作日。1/2/20231/2/202346将参数添加至基本表格报表四、添加具有“全选”值的多值参数(五、)设置报表参数DayoftheWeek的属性1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。2.在“参数”窗格中,选择DayoftheWeek。该参数在第2课中创建。3.在“属性”部分中,选中“多值”。4.在“提示”文本框中,键入“筛选每周工作日:”。5.在“可用值”部分的“数据集”下拉列表中,选择WeekDaysfromQuery。6
50、.从“值”字段下拉列表中,选择Weekday。7.从“标签”字段下拉列表中,选择Weekday。对于默认值,在第一个“值”文本框中键入“星期六”,在第二个“值”文本框中键入“星期日”。8.单击“确定”。可以预览该报表前,需要更改为表数据区域定义的筛选表达式以使用IN运算符,这是因为DayoftheWeek参数现在是多值参数。1/2/20231/2/202347将参数添加至基本表格报表四、添加具有“全选”值的多值参数(六、)更改筛选器以使用多值参数1.在“布局”视图中,选择该表。该表会显示一个灰色轮廓。2.右键单击表轮廓并选择“属性”。将打开“表属性”对话框。3.单击“筛选器”选项卡。4.在“表