




已阅读5页,还剩102页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ReportingService报表开发工具介绍,中国人寿统计信息项目小组2005-11-14,5/24/2020,1,提纲,一、ReportingServices工具简介二、创建基本报表三、向基本报表中添加分组、排序和格式设置四、将参数添加至基本表格报表五、使用参数的高级功能,5/24/2020,2,5/24/2020,ReportingServices工具,ReportingServices配置工具报表管理器开发常用的几种工具报表生成器,5/24/2020,3,5/24/2020,ReportingServices工具,启动ReportingServices配置工具1.单击“开始”,依次指向“程序”、MicrosoftSQLServer2005和“配置工具”,再单击“ReportingServices配置”。此时将出现“选择报表服务器安装实例”对话框,可以选择要配置的报表服务器实例。2.在“计算机名称”中,指定安装报表服务器实例的计算机名称。指定的默认值是本地计算机名称,但也可以键入远程SQL服务器实例的名称。如果指定远程计算机,请单击“查找”以建立一个连接。必须事先配置报表服务器,以便进行远程管理。3.在“实例名称”中,选择要配置的SQLServer2005ReportingServices实例。在列表中只显示SQLServer2005报表服务器实例。不能配置较早版本的ReportingServices。4.单击“连接”。5.若要验证是否已启动工具,请将您的结果与下图进行比较:(见下页),5/24/2020,4,5/24/2020,ReportingServices工具,5/24/2020,5,5/24/2020,ReportingServices工具,报表管理器若要使用基于Web的工具来设置权限、管理订阅和计划以及处理报表和模型,请使用报表管理器。也可以使用报表管理器来查看报表。必须拥有足够的权限才能打开报表管理器(最初,只有本地Administrators组的成员拥有访问报表管理器功能的权限)。报表管理器根据当前用户的角色分配提供不同的页和选项。没有权限的用户将得到一个空页。拥有查看报表权限的用户将获得链接,用户点击这些链接可以打开报表。报表管理器启动操作如下:1.打开MicrosoftInternetExplorer6.0或更高版本。2.在Web浏览器的“地址”栏中,键入报表管理器URL。默认情况下,该URL为http:/reports。可以使用ReportingServices配置工具来确认服务器名称和虚拟目录名称。3.报表管理器将在浏览器窗口中打开。启动页为主文件夹。根据权限,您可能看到启动页中的其他文件夹、指向报表的超链接和资源文件。也可能在工具栏上看到其他按钮和命令。4.若要验证是否已启动工具,请将您的结果与下图进行比较:,5/24/2020,6,5/24/2020,ReportingServices工具,一、ManagementStudio二、带有报表设计器和模型设计器的BusinessIntelligenceDevelopmentStudio2.1.报表设计器2.2.模型设计器,5/24/2020,7,5/24/2020,ReportingServices工具,ManagementStudio,5/24/2020,8,5/24/2020,ReportingServices工具,带有报表设计器和模型设计器的BusinessIntelligenceDevelopmentStudio报表设计器,5/24/2020,9,5/24/2020,ReportingServices工具,带有报表设计器和模型设计器的BusinessIntelligenceDevelopmentStudio模型设计器,5/24/2020,10,5/24/2020,ReportingServices工具,报表生成器1.在Web浏览器中,在地址栏键入报表管理器的URL。默认情况下,该URL为http:/reports。2.单击“报表生成器”。报表生成器按钮与其他按钮均位于工具栏上:如果没有看到报表生成器按钮,可能是您没有权限。3.若要验证是否已启动工具,请将您的结果与下图进行比较:,5/24/2020,11,5/24/2020,创建基本报表,一、创建报表服务器项目二、设置连接信息三、定义报表查询四、添加表数据区域五、预览基本报表,5/24/2020,12,5/24/2020,创建基本报表,一、创建报表服务项目(一、)创建报表服务项目1.单击“开始”,依次指向“程序”和MicrosoftSQLServer2005,再单击BusinessIntelligenceDevelopmentStudio。2.在“文件”菜单上,指向“新建”,再单击“项目”。3.在“项目类型”列表中,单击“商业智能项目”。4.在“模板”列表中,单击“报表服务器项目”。5.在“名称”中,键入Tutorial。6.单击“确定”以创建项目。解决方案资源管理器中将显示Tutorial项目。,5/24/2020,13,5/24/2020,创建基本报表,一、创建报表服务项目(二、)创建新的报表定义文件1.在解决方案资源管理器中,右键单击“报表”,指向“添加”,再单击“新建项”。注:如果解决方案资源管理器窗口不可见,请单击“视图”菜单中的“解决方案资源管理器”。2.在“添加新项”中,单击“报表”。下面的关系图显示了“添加新项”对话框,该对话框用于向项目中添加报表和其他项。3.在“名称”中,键入SalesOrders.rdl,再单击“添加”。此时报表设计器将打开,并在“数据”视图中显示新的.rdl文件。,5/24/2020,14,5/24/2020,创建基本报表,二、设置连接信息1.在“数据”选项卡中,展开页面顶部“数据集”下拉列表的内容,并选择“新建数据集”。此时,将显示“数据源”对话框。2.在“名称”中,键入AdventureWorks。3.在“类型”中,选择MicrosoftSQLServer。4.在“连接字符串”中,键入以下内容:Datasource=(local);initialcatalog=AdventureWorks该连接字符串假定BusinessIntelligenceDevelopmentStudio、报表服务器和AdventureWorks数据库都已安装在本地计算机中,并且您拥有登录AdventureWorks数据库的权限。如果使用的是具有高级服务或命名实例的SQLServer2005ExpressEdition,则连接字符串必须包括实例信息:Datasource=localhostSQLEXPRESS;initialcatalog=AdventureWorks5.单击“确定”。AdventureWorks将添加到“数据集”窗格中。,5/24/2020,15,5/24/2020,创建基本报表,三、定义报表查询定义了数据源之后,报表设计器将创建一个数据集,并显示可用于设计查询的通用查询设计器。在本教程中,您将创建一个查询,用于从数据库中检索销售订单信息。通用查询设计器是默认的查询设计工具,因为它能处理复杂的Transact-SQL语句,并且直到运行报表时才对语句进行格式设置或验证。但是,如果您比较熟悉图形查询设计器,则可使用此工具代替通用查询设计器。查询设计器工具栏上的切换按钮可用来在工具之间进行切换。若要为报表数据定义Transact-SQL查询,请执行以下操作:1.将以下查询键入(或复制并粘贴)到通用查询设计器的SQL窗格中,SQL窗格是设计工具中最上层的窗格。上述步骤下面所列的关系图显示了应该指定查询的位置。SELECTS.OrderDate,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.ContactCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPersonID2.若要查看查询的结果,请单击查询设计器工具栏上的“运行”(!)按钮。,5/24/2020,16,5/24/2020,创建基本报表,四、添加表数据区域1.单击“布局”选项卡。2.在“工具箱”中,单击“表”,再单击设计图面。报表设计器将在设计图面的宽度内绘制一个具有三列的表。3.在“数据库”窗口中,展开报表数据集以显示字段。4.将OrderDate字段从“数据集”窗口拖到此表第一列的中间行(详细信息行)中。当将字段拖到中间单元时,会发生两件事。首先,详细信息单元将包含下面的文本:“=Fields!OrderDate.Value”。该文本是为OrderDate字段指定数据值的字段表达式。添加到详细信息行的字段始终被指定为表达式。其次,列标题值自动放置在紧邻字段表达式上面的第一行。默认情况下,该列是字段的名称。5.将SalesOrderNumber字段从“数据集”窗口拖到此表第二列的中间行(详细信息行)中。6.将TotalDue字段从“数据集”窗口拖到此表第三列的中间行(详细信息行)中。,5/24/2020,17,5/24/2020,创建基本报表,五、预览基本报表1.保存报表项目。在“文件”菜单中,单击“全部保存”。2.单击“预览”选项卡。报表设计器将运行此报表,并将其显示在预览视图中。下图在“预览”窗口中显示此报表。,5/24/2020,18,5/24/2020,向基本报表中添加分组、排序和格式设置,一、打开教程项目二、添加组三、添加新建列四、对详细信息数据排序五、添加小计六、应用格式和样式七、发布已更新的报表,5/24/2020,19,5/24/2020,向基本报表中添加分组、排序和格式设置,一、打开教程项目1.单击“开始”,依次指向“程序”、MicrosoftSQLServer2005,再单击BusinessIntelligenceDevelopmentStudio。2.在“文件”菜单中,指向“打开”,再单击“项目/解决方案”。3.导航到在上一个教程中创建的项目文件的位置。该项目应该位于“教程”文件夹中。4.单击Tutorial.rptproj,再单击“打开”。5.在解决方案资源管理器窗口中,双击SalesOrders.rdl可打开此报表。如有必要,单击“布局”选项卡,以在“布局”视图中打开此报表。,5/24/2020,20,5/24/2020,向基本报表中添加分组、排序和格式设置,二、添加组1.在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。2.右键单击任一行的句柄,再单击“插入组”。3.在“常规”选项卡上,对于“分组方式”,选择第一行的=Fields!LastName.Value和第二行的=Fields!FirstName.Value”。此操作将按销售人员的姓名对数据进行分组。4.在“排序”选项卡上,对于“排序方式”,选择第一行的=Fields!LastName.Value和第二行的=Fields!FirstName.Value”,其中每一个选项都按“升序”排序。此操作将按销售人员的姓名对分组进行排序。5.单击“确定”。组头和组尾这两个新行将添加到此表中。,5/24/2020,21,5/24/2020,向基本报表中添加分组、排序和格式设置,三、添加新建列1.单击表,以便在此表的上方和旁边显示列句柄和行句柄。2.在第一列(OrderDate)上,右键单击句柄,再单击“在左侧插入列”。3.单击新列中的第二个单元,然后键入以下表达式。第二个单元应该位于在前面的步骤中添加的新组的行中:=Fields!FirstName.Value+Fields!LastName.Value4.单击第一列中的第一个单元,然后键入SalesPerson。这是表格表头中列的标签。,5/24/2020,22,5/24/2020,向基本报表中添加分组、排序和格式设置,四、对详细信息数据排序1.在“布局”窗格中单击表,使列句柄和行句柄显示在表的上方和旁边。2.右键单击角部句柄,再单击“属性”按钮。3.在“排序”选项卡的“排序方式”中,选择=Fields!OrderDate.Value。此时将按订单日期对详细信息数据排序。4.单击“确定”。,5/24/2020,23,5/24/2020,向基本报表中添加分组、排序和格式设置,五、添加小计单击最后一列(应付款总计)中的第四个单元格,然后键入以下表达式:=Sum(Fields!TotalDue.Value),5/24/2020,24,5/24/2020,向基本报表中添加分组、排序和格式设置,六、应用格式和样式(一、)日期格式1.右键单击带OrderDate字段表达式的单元格,再单击“属性”。“文本框属性”对话框随即显示。2.打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式”对话框。3.对于“格式”,请依次选择“标准”、“日期”,然后选择列表中的第三个示例(短日期)。4.单击“确定”,关闭“选择格式”对话框,然后再次单击“确定”,关闭“文本框属性”对话框。,5/24/2020,25,5/24/2020,向基本报表中添加分组、排序和格式设置,六、应用格式和样式(二、)货币格式1.右键单击带TotalDue字段表达式的单元格,然后单击“属性”。2.打开“格式”选项卡,单击浏览按钮(以省略号按钮标签表示),以便打开“选择格式”对话框。3.对于“格式”,请依次选择“标准”、“货币”,单击“确定”,然后再次单击“确定”,关闭“文本框属性”对话框。,5/24/2020,26,5/24/2020,向基本报表中添加分组、排序和格式设置,六、应用格式和样式(三、)文本样式和列宽1.单击表,以便在此表的上方和旁边显示列句柄和行句柄。2.选择第一行、第二行和第四行(包含列标题标签的行、组头行和组尾行)的行句柄,然后在格式设置工具栏上,单击“粗体”(“B”)按钮。3.指向列句柄之间的行,使游标变为双箭头。拖动列,调整到所需大小。,5/24/2020,27,5/24/2020,向基本报表中添加分组、排序和格式设置,七、发布已更新的报表1.在解决方案资源管理器窗口中,右键单击“教程”项目,再单击“属性”。2.单击配置管理器。3.在配置管理器对话框的“活动的解决方案配置”中,选择“生产”。4.单击“关闭”。5.在“教程属性页”对话框的TargetServerURL中,键入报表服务器的虚拟目录;例如http:/servername/reportserver。(这是报表服务器的虚拟目录,而不是报表管理器的虚拟目录。)6.如果“调试”属性节点尚未打开,请将其展开以显示StartItem属性。单击StartItem旁边的文本框,并从下拉列表中选择报表SalesOrder.rdl。7.单击“确定”。8.保存报表项目。在“文件”菜单上,单击“全部保存”。9.发布报表。在“调试”菜单上,单击“开始执行(不调试)”。10.发布完成后,报表设计器将打开InternetExplorer。单击“销售订单”即可查看该报表。,5/24/2020,28,5/24/2020,将参数添加至基本表格报表,一、创建参数教程的报表服务器项目二、添加按日期进行筛选的参数三、添加具有可用值列表的单值参数四、添加具有“全选”值的多值参数五、添加控制行可见性的参数六、添加要传递给钻取报表的参数,5/24/2020,29,5/24/2020,将参数添加至基本表格报表,一、创建参数教程的报表服务器项目1.单击“开始”,依次指向“程序”、MicrosoftSQLServer2005,再单击BusinessIntelligenceDevelopmentStudio。2.在“文件”菜单上,指向“打开”,然后单击“项目/解决方案”。3.导航到在上一个教程中创建的项目文件的位置。该项目应该位于“教程”文件夹中。4.单击Tutorial.rptproj,再单击“打开”。5.在解决方案资源管理器窗口中,双击SalesOrders.rdl可打开此报表。如有必要,单击“数据”选项卡,以在“数据”视图中打开此报表。,5/24/2020,30,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(一、)将日期参数添加至查询1.在“数据”视图中,选择AdventureWorks数据集。2.用以下查询替换现有的查询:SELECTS.OrderDate,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.ContactCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPersonIDWHERE(S.OrderDateBETWEEN(StartDate)AND(EndDate)-AccurateEnddatewouldbe2002022823:59:59.9973.在工具栏上单击“运行”(!)。将打开“定义查询参数”对话框。4.在“参数值”列中,为StartDate输入值。例如,20010101。5.在“参数值”列中,为EndDate输入值。例如,20030101。6.单击“确定”。系统会自动创建报表参数StartDate和EndDate,并将数据类型默认设置为String。在接下来的三个步骤中,将把这些参数设置为数据类型DateTime。,5/24/2020,31,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(一、)将日期参数添加至查询7.在“报表”菜单中,单击“报表参数”。将打开“报表参数”对话框。8.在“参数”列表框中,确保突出显示StartDate。在“数据类型”下拉列表中,选择DateTime。9.在“参数”列表框中,选择EndDate。在“数据类型”下拉列表中,选择DateTime。10.单击“确定”。11.单击“预览”。StartDate和EndDate参数将分别随一个日历控件显示在工具栏中。参数的数据类型是DateTime并且未定义可用值列表时,日历控件便会自动显示。定义可用值列表将创建一个值下拉列表,而不是日历控件。12.在本教程中,您将为参数输入值,而并不使用日历控件。13.在StartDate参数文本框中,输入日期2001-01-01。14.在EndDate参数文本框中,输入日期2003-01-01。15.单击“查看报表”。报表将仅显示位于报表参数值范围中的数据记录。,5/24/2020,32,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(二、)为日期参数设置默认值1.在“布局”视图中,单击“报表”菜单中的“报表参数”。将打开“报表参数”对话框。2.在“参数”列表框中,确保突出显示StartDate。3.在默认值部分中,选择“无查询”并键入2001-01-01。按Tab键退出该文本框。4.在“参数”列表框中,选择EndDate。5.在默认值部分中,选择“无查询”并键入2003-01-01。按Tab键退出该文本框。6.单击“确定”。7.单击“预览”。由于为所有参数定义了默认值,因此报表会立即运行。报表用户运行报表时,可以使用位于查询参数作用域范围中的参数值来设置默认值。例如,您可以提供将所呈现数据限定为一个月的报表参数值。,5/24/2020,33,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(三、)将新字段添加至查询以用于筛选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.ContactCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPersonIDWHERE(S.OrderDateBETWEEN(StartDate)AND(EndDate)3.单击“运行”(!)。您应该看到一个标有Weekday的新列以及每个工作日的名称。4.在“数据集”窗口中,确保Weekday是字段。,5/24/2020,34,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(四、)添加新的报表参数1.单击“布局”选项卡。2.从“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。3.单击“添加”。新参数Report_Parameter_2会显示默认值。4.在“属性”部分的“名称”文本框中,用DayoftheWeek替换Report_Parameter_2。确保数据类型是String。5.在“提示”中,键入“筛选每周工作日:”。6.清除“允许空白值”选项。7.在“可用值”部分中,单击“无查询”。将这些项保留为空。8.在“默认值”部分中,单击“无查询”。在文本框中,键入Sunday。9.单击“确定”。,5/24/2020,35,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(五、)使用参数表达式设置表筛选器1.在“布局”视图中,选择该表。该表会显示一个灰色轮廓。2.右键单击表轮廓并选择“属性”。将打开“表属性”对话框。3.单击“筛选器”选项卡。4.在“表达式”列中,从下拉列表选择=Fields!Weekday.Value。5.确保“运算符”是等号(=)。6.单击“值”文本框,并从下拉列表中选择。将打开“编辑表达式”对话框。7.在全局变量窗格中,单击“参数”。当前参数列表将显示在对应的窗格中。8.双击DayoftheWeek。该参数表达式便会添加至表达式文本框中。现在以下表达式显示在表达式文本框中:=Parameters!DayoftheWeek.Value。9.单击“确定”。10.单击“确定”。表的筛选器现在被设置为将字段Weekday中的值与DayoftheWeek的参数值进行比较。例如,在报表工具栏中为DayoftheWeek输入值“星期日”时,报表处理器将仅处理表中字段Weekday的值是Sunday的行。11.单击“预览”。由于所有参数都有默认值,因此报表会自动运行。该表将仅显示由StartDate和EndDate定义的日期范围中的值,以及有关Sunday的值。12.在下一可选步骤中,将格式设置添加至表格表头。,5/24/2020,36,5/24/2020,将参数添加至基本表格报表,二、添加按日期进行筛选的参数(六、)(可选)为表格表头行设置背景色和字体颜色1.单击“布局”选项卡。2.单击表。将显示表控点。3.单击表格表头行。单击布局工具栏中的“背景色”按钮。将打开“选择颜色”对话框。4.从Web选项卡中,选择“深红色”。5.单击“确定”。接下来,选择字体颜色。6.单击布局工具栏中的“前景色”按钮。将打开“选择颜色”对话框。7.从Web选项卡中,选择“白色”。8.单击“确定”。9.单击“预览”。该表会呈现为表格表头行选择的颜色。,5/24/2020,37,5/24/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数(一、)向AdventureWorks数据集查询添加查询参数1.从“数据”选项卡的“数据集”下拉列表中,选择AdventureWorks。2.向查询中添加新的查询参数SalesPersonID。在查询中,扩展WHERE子句以包括以下比较:ANDS.SalesPersonID=(SalesPersonID)。3.单击“运行”(!)按钮。提示输入查询参数的值时,请使用下表来输入值。4.单击“确定”。随即显示SalesPersonID=286的销售人员RanjitVarkeyChudakatil的结果集。5.(可选)验证查询参数SalesPersonID是否具有值:=Parameters!SalesPersonID.Value。单击“编辑所选的数据集”()按钮并选择“参数”选项卡。6.(可选)验证是否已经为您自动创建了报表参数SalesPersonID。从“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。验证SalesPersonID是否在“参数”窗格中。您将在本主题后面的过程中编辑该参数。在下一步中,将创建一个为报表参数SalesPersonID的可用值下拉列表提供值的单独的数据集。,5/24/2020,38,5/24/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数(二、)创建SalesPersons可用值数据集1.在“数据集”下拉列表中,选择。将打开“数据集”对话框。2.提供新数据集的名称。在“名称”字段中,键入SalesPersons。该数据集将用于输入有效值列表。3.在查询窗格中粘贴以下Transact-SQL查询:SELECTSP.SalesPersonID,C.FirstName,C.LastNameFROMSales.SalesPersonASSPINNERJOINHumanResources.EmployeeASEONE.EmployeeID=SP.SalesPersonIDINNERJOINPerson.ContactASCONC.ContactID=E.ContactID4.单击“运行”(!)按钮。SalesPersonID、FirstName和LastName列显示在结果集中,并且显示为数据集SalesPersons中的字段。虽然可以向查询添加计算字段(例如,向SELECT语句添加LastName+N+FirstNameasName作为附加列),但ReportingServices仍然提供了一种从现有数据集字段创建新计算字段的方法。如果查询使用检索一组预定义列的存储过程,则可以使用该功能。在下一步中,将为包含两个现有字段的数据集创建一个新字段。,5/24/2020,39,5/24/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数(三、)添加新的计算数据集字段1.在“数据集”窗口中,右键单击SalesPersons数据集并选择“添加”。如果“数据集”窗口未打开,请按ALT+CTRL+D。2.在“名称”文本框中,键入Name。3.选择“计算字段”选项。4.在文本框中粘贴以下表达式:=Fields!LastName.Value+,+Fields!FirstName.Value5.单击“确定”。在数据工具栏中,单击“刷新字段”。新字段Name即显示在数据集SalesPersons的字段集合中。在下一步中,将设置表数据区域属性NoRows。如果从表的相关数据集中没有检索到数据,则显示该属性中的文本。,5/24/2020,40,5/24/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数(四、)向表添加NoRows消息1.单击“布局”选项卡以切换到“布局”视图。2.从“视图”菜单中,选择“属性”窗口。3.从“属性”窗口的对象下拉列表中,选择表。默认情况下,表名称为table1。4.在“属性”窗口中,滚动到NoRows。5.单击NoRows旁边的文本框,并输入以下文本:没有适用于该参数组合的可用结果。如果特定查询参数的结果集没有生成行,则显示该消息。6.(可选)单击“预览”。在SalesPersonID参数中,键入1。将在表数据区域中显示NoRows消息。在下一步中,将编辑自动生成的报表参数SalesPersonID。将设置报表属性,以便在可用值下拉列表中显示销售人员的名称,而不是数据库标识符。,5/24/2020,41,5/24/2020,将参数添加至基本表格报表,三、添加具有可用值列表的单值参数(五、)设置报表参数SalesPersonID的属性1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。参数窗格中将显示SalesPersonID参数。2.在“数据类型”下拉列表中,选择Integer。3.在“提示”文本框中,键入“选择销售人员:”。4.在“可用值”部分中,选择“来自查询”。5.在“数据集”下拉列表中,选择SalesPersons。6.对于“值”字段,选择SalesPersonID。7.对于“标签”字段,选择Name。SalesPersonID参数的有效值下拉列表现在将显示每个销售人员的名称,而不是SalesPersonID。8.在“默认值”部分中,选择“来自查询”。9.在“数据集”下拉列表中,选择SalesPersons。10.对于“值”字段,选择SalesPersonID。11.单击“确定”。12.单击“预览”选项卡。此报表将显示销售人员名称下拉列表。,5/24/2020,42,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数把SalesOrderID和DayoftheWeek参数从单值参数更改为多值参数。多值参数允许您为报表参数选择多个值。若要修改报表参数SalesOrderID,需要更改AdventureWorks数据集的查询,以便对所选值集(并不等于单个值)中的SalesPersonID进行测试,并检查该报表参数的多值属性。若要修改DayoftheWeek报表参数,需要检查多值属性、设置来自新数据集的可用值,并为默认值提供表达式。您将创建一个新数据集,为DayoftheWeek参数提供可用值。最后,将向报表添加一个文本框,以便为选择的DayoftheWeek显示参数值(一、)打开销售订单报表1.在SQLServerBusinessIntelligenceDevelopmentStudio中,打开在上一课中创建的Tutorial报表服务器项目。2.在解决方案资源管理器中,双击“销售订单”报表。将在“布局”视图中打开此报表。3.单击“数据”选项卡。,5/24/2020,43,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数(二、)修改用于测试的数据集查询,以便纳入值集1.从“数据集”下拉列表中,选择AdventureWorks。2.将SalesPersonID测试从等式(=(SalesPersonID)更改为包含表达式(IN(SalesPersonID),从而修改现有查询的WHERE子句。用以下查询替换该数据集的查询字符串。SELECTS.OrderDate,DATENAME(weekday,S.OrderDate)asWeekday,S.SalesOrderNumber,S.TotalDue,C.FirstName,C.LastNameFROMHumanResources.EmployeeEINNERJOINPerson.ContactCONE.ContactID=C.ContactIDINNERJOINSales.SalesOrderHeaderSONE.EmployeeID=S.SalesPersonIDWHERE(S.OrderDateBETWEEN(StartDate)AND(EndDate)ANDS.SalesPersonIDIN(SalesPersonID)3.单击“运行”(!)按钮。提示输入查询参数的值时,请使用下表来输入值。查询设计器不支持测试多值参数。,5/24/2020,44,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数(三、)设置报表参数SalesPersonID的属性1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。2.在“参数”窗格中,选择SalesPersonID。3.在“属性”部分中,选中“多值”。4.在“提示”文本框中,键入“选择销售人员:”。5.单击“确定”。6.单击“预览”选项卡。此报表将显示销售人员名称下拉列表。注:系统将把“(全选)”值作为多值参数可用值下拉列表中的第一个值。使用该复选框可以选中或清除所有值。SQLServerServicePack1禁用了“全选”选项。,5/24/2020,45,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数(四、)为DaysoftheWeek可用值添加新的数据集1.在“数据”选项卡的“数据集”下拉列表中,选择。2.将数据源设置为AdventureWorks数据源。3.在“名称”字段中,键入WeekDaysfromQuery。4.在查询窗格中粘贴以下查询字符串。、SETDATEFIRST1;SELECTDISTINCTDATEPART(weekday,S.OrderDate)asWeekDayNumber,DATENAME(weekday,S.OrderDate)asWeekdayFROMSales.SalesOrderHeaderSOrderbyWeekDayNumberDATEFIRST将设置要作为第一天的工作日。例如,SETDATEFIRST7将更改工作日的顺序,以便将星期日作为第一天。在本教程中,星期一是每周的第一天。5.单击“确定”。6.单击查询设计器工具栏中的“运行”(!)按钮。结果集将显示序号及每周的工作日。,5/24/2020,46,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数(五、)设置报表参数DayoftheWeek的属性1.在“报表”菜单中,选择“报表参数”。将打开“报表参数”对话框。2.在“参数”窗格中,选择DayoftheWeek。该参数在第2课中创建。3.在“属性”部分中,选中“多值”。4.在“提示”文本框中,键入“筛选每周工作日:”。5.在“可用值”部分的“数据集”下拉列表中,选择WeekDaysfromQuery。6.从“值”字段下拉列表中,选择Weekday。7.从“标签”字段下拉列表中,选择Weekday。对于默认值,在第一个“值”文本框中键入“星期六”,在第二个“值”文本框中键入“星期日”。8.单击“确定”。可以预览该报表前,需要更改为表数据区域定义的筛选表达式以使用IN运算符,这是因为DayoftheWeek参数现在是多值参数。,5/24/2020,47,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数(六、)更改筛选器以使用多值参数1.在“布局”视图中,选择该表。该表会显示一个灰色轮廓。2.右键单击表轮廓并选择“属性”。将打开“表属性”对话框。3.单击“筛选器”选项卡。4.在“表达式”列的下拉列表中,确保值为=Fields!Weekday.Value。5.将运算符由等号(=)更改为In运算符。6.在“值”文本框的下拉列表中,确保值为=Parameters!DayoftheWeek.Value。7.单击“确定”。表的筛选器现在被设置为使用In运算符将字段Weekday的值与参数DayoftheWeek的值进行比较。为报表参数选择多个值时,筛选器将测试表的每一行,以查看Weekday字段是否存在于DayoftheWeek集合中。8.单击“预览”选项卡。该报表会显示默认值为“星期六”和“星期日”的报表参数DaysoftheWeek。,5/24/2020,48,5/24/2020,将参数添加至基本表格报表,四、添加具有“全选”值的多值参数(七、)添加文本框以显示参数值1.在“布局”视图中,选择该表。按数次向下键向下移动该表,并扩展报表高度。2.从工具框中,将一个文本框拖动到该表上方。选中该文本框的一边,扩展其宽度以与该表的宽度匹配。关于该表达式,请注意以下几点:您可以引用参数标签,但不能引用参数值。例如,可以引用Parameters!SalesPersonID.Label,但不能引用Parameters!SalesPersonID.Value。若要处理参数集合中的各个成员,应使用从零开始的索引。例如:Parameters!SalesPersonID.Label(0)。若要处理整个集合,不要使用索引。例如:Parameters!SalesPersonID.Value。若要查找值的数目,请使用Parameters!SalesPersonID.Count。您还可以查明参数是否是多值参数。例如:Parameters!SalesPersonID.IsMultivalue。可以使用VisualBasicJoin函数将多值参数中的所有选定值串联起来。例如,Join(Parameters!DayoftheWeek.Value,)。3.单击“预览”。确保单击“查看报表”时,该文本框会显示在参数中选定的值。,5/24/2020,49,5/24/2020,将参数添加至基本表格报表,五、添加控制行可见性的参数(一、)添加布尔值报表参数1.在“报表”菜单中,单击“报表参数”。将打开“报表参数”对话框。2.单击“添加”。“参数”窗格中将添加一个新报表参数。3.在“属性”部分的“名称”字段中,键入ShowSalesOrderDetails。4.在“数据类型”字段中,单击下拉箭头,然后选择Boolean。5.在“提示”字段中,键入提示问题。例如,“是否显示销售订单详细信息?”。6.在“可用值”部分中,确保选中“无查询”。对于布尔值参数,忽略可用值。7.在“默认值”部分中,选择“无查询”。8.在文本框内单击,并键入下列表达式:=true9.(可选)单击“预览”查看在工具栏上具有单选按钮的新ShowSalesOrderDetails参数。,5/24/2020,50,5/24/2020,将参数添加至基本表格报表,五、添加控制行可见性的参数(二、)在表详细信息行的可见性属性中添加表达式1.在“布局”视图中,在表数据区域内单击。将显示表控点。2.右键单击详细信息行控点并选择“属性”。“属性”窗口中将显示此表行的属性。3.找到“可见性”属性并展开节点。将显示“隐藏”字段,并具有默认值false。4.在值字段中单击,然后单击下拉箭头。选择“”。将打开“编辑表达式”对话框。5.在表达式生成器窗格中,用等号(=)代替值false。每一个非常量表达式均以此字符开头。6.在表达式生成器下面的窗格中选择“参数”。将在反向窗格中显示报表参数列表。7.双击ShowSalesOrderDetails参数。此参数值的表达式将添加到表达式生成器窗格中。8.参数ShowSalesOrderDetails为true时,“隐藏”属性需要为false。在表达式中添加Not运算符。其值现在应为:=NotParameters!ShowSalesOrderDetails.Value9.单击“确定”。10.单击“预览”并测试参数ShowSalesOrderDetails,方法是更改此参数的值然后单击“查看报表”查看其效果。,5/24/2020,51,5/24/2020,将参数添加至基本表格报表,五、添加控制行可见性的参数(三、)在表列的可见性属性中添加表达式1.在“布局”视图中,在表数据区域内单击。将显示表控点。2.单击“订单日期”和“销售订单号”的列标题。“属性”窗口中将显示这两个表列标题的属性。3.找到“可见性”属性并展开节点。将显示“隐藏”字段,并具有默认值false。4.复制下列表达式:=NotParameters!ShowSalesOrderDetails.Value5.在“隐藏”字段值内单击右键。选择“粘贴”。6.在“属性”窗口之外单击。7.单击“预览”并将ShowSalesOrderDetails设置为false。将隐藏“订单日期”和“销售订单号”列。,5/24/2020,52,5/24/2020,将参数添加至基本表格报表,五、添加控制行可见性的参数(四、)(可选)将组小计从组尾移至组头1.在“布局”视图中,在表数据区域内单击。将显示表控点。2.在组尾行,复制行中最后一个文本框中的组和表达式。将表达式粘贴到头行中。“应付款总计”列标题下的第一个文本框中现在应包含下列表达式:=Sum(Fields!TotalDue.Value)。使用具体的表组范围时,无论将组总计置于组头还是组尾对实际合计值均无影响。3.在具有应付款总计表达式的组标题文本框的“属性”窗口中,滚动到“格式”属性,然后键入C0。这用于设置货币格式。4.在表组标题控点中右键单击,并选择“编辑组”。将打开“分组和排序”对话框。5.清除“包括组尾”复选框。6.单击“确定”。7.单击“预览”,将ShowSalesOrderDetails设置为false,然后单击“查看报表”。将只显示销售人员姓名和应付款总计字段。,5/24/2020,53,5/24/2020,将参数添加至基本表格报表,六、添加要传递给钻取报表的参数(一、)将现有报表导入到报表服务器项目1.在解决方案资源管理器中,右键单击“报表”文件夹。选择“添加”,然后选择“现有项”。将打开“添加现有项”对话框。2.导航到安装AdventureWorks示例报表的文件夹。默认目录是C:ProgramFilesMicrosoftSQLServer90SamplesReportingServicesReportSamplesAdventureWorksSampleReports。选择SalesOrderDetails.rdl。此报表随即添加到报表项目中。现在需要将数据集数据源绑定到AdventureWorks数据库。3.在解决方案资源管理器中,双击SalesOrderDetails.rdl。4.单击“数据”选项卡。此时出现错误“无法与数据库建立连接”。需要修改此报表中这两个数据集的数据源以指向系统上的AdventureWorks数据源。5.在“数据集”下拉列表中,选择SalesOrder。6.单击“编辑数据集”()按钮。将打开“数据集”对话框。7.在数据源下拉列表旁边,单击“编辑数据源”()按钮。将打开“数据源”对话框。8.确认“类型”为MicrosoftSQLServer。9.单击“连接字符串”窗格旁边的“编辑”。将打开“连接属性”对话框。10.输入系统的服务器名称和身份验证。独立的系统通常使用localhost作为服务器名并使用Windows身份验证。11.在“连接到数据库”部分,键入AdventureWorks。12.单击“测试连接”。如果连接没有成功,请与数据库管理员联系。13.单击“确定”。14.对于SalesOrderDetail数据集,重复步骤5-13。,5/24/20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军事理论考试题及答案
- 简单考试题及答案
- 计价考试题及答案
- 政审心理测试题及答案
- 1-4-Bis-3-aminopropyl-piperazine-生命科学试剂-MCE
- 体育安全教育题库及答案
- 企业网络安全题库及答案
- 企业安全急救试题及答案
- 令人吃惊的测试题及答案
- 人的由来试题及答案详解
- 模具维护保养记录表
- 网络集成实践报告
- 临床诊疗指南第三版电子版
- Vue.js前端开发实战(第2版)全套完整教学课件
- 父亲节:感恩父亲的日子
- 有趣的行为金融学知到章节答案智慧树2023年上海海洋大学
- 现代物流管理(第三版-钱廷仙)课件1.物流成本构成
- 2023年芜湖一中高一自主招生考试试题数学
- 中心静脉导管护理
- 江苏省南京市联合体2022-2023八年级初二下学期期中英语试卷+答案
- 事业单位岗位职数情况表
评论
0/150
提交评论