教程:表达式简介
在此 --- 标题中:包含文件说明:包含文件作者:maggiesMSFT ms.author: maggies ms.date: 12/06/2018 ms.service: ms.topic: 包含 ms.custom: include fileReport 生成器教程,可将表达式与常用函数和运算符号一起使用,创建强大且灵活的 Reporting Services 分页报表。
本教程中,你将编写表达式,这些表达式用于连接名称值、在单独的数据集中查找值和基于字段值显示不同的颜色等。
报表是一个镶边报表,采用白色和彩色交替显示行。 报表包括用于选择非白色行的颜色的参数。
此图显示与教程中将创建的报表类似的报表。
完成本教程的估计时间:30 分钟。
要求
有关要求的信息,请参阅教程先决条件(报表生成器)。
1. 使用表向导或矩阵向导创建表报表和数据集
在本部分中,将创建表报表、数据源和数据集。 在设计表的布局时,将只包含若干字段。 完成向导后,你将手动添加列。 使用该向导可以方便地对表进行布局。
注意
在本教程中,由于查询包含了数据值,因此它不需要外部数据源。 这样,查询就会非常长。 在业务环境中,查询不会包含数据。 本教程中的查询仅供学习使用。
创建一个表报表
通过计算机、Web 门户或 SharePoint 集成模式 启动报表生成器 Reporting Services 。
将打开“新建报表或数据集”对话框。
如果未出现“新建报表或数据集”对话框,请通过“文件”菜单转至“新建”。
在左窗格中,确认已选中 “新建报表” 。
在右窗格中,选择“表或矩阵向导”。
在“选择数据集”页上,单击“创建数据集”>“下一步” 。
在“选择数据源的连接”页上,选择类型为“SQL Server”的数据源。 从列表中选择一个数据源或浏览到 Report Server 以选择一个数据源。
注意
只要具有足够的权限,则选择哪一个数据源并不重要。 您将不会从数据源中获取数据。 有关详细信息,请参阅获取数据连接的备选方式(报表生成器)。
选择下一步。
在“设计查询”页中,选择“编辑为文本”。
将以下查询粘贴到查询窗格中:
SELECT 'Lauren' AS FirstName,'Johnson' AS LastName, 'American Samoa' AS StateProvince, 1 AS CountryRegionID,'Female' AS Gender, CAST(9996.60 AS money) AS YTDPurchase, CAST('2015-6-10' AS date) AS LastPurchase UNION SELECT'Warren' AS FirstName, 'Pal' AS LastName, 'New South Wales' AS StateProvince, 2 AS CountryRegionID, 'Male' AS Gender, CAST(5747.25 AS money) AS YTDPurchase, CAST('2015-7-3' AS date) AS LastPurchase UNION SELECT 'Fernando' AS FirstName, 'Ross' AS LastName, 'Alberta' AS StateProvince, 3 AS CountryRegionID, 'Male' AS Gender, CAST(9248.15 AS money) AS YTDPurchase, CAST('2015-10-17' AS date) AS LastPurchase UNION SELECT 'Rob' AS FirstName, 'Caron' AS LastName, 'Northwest Territories' AS StateProvince, 3 AS CountryRegionID, 'Male' AS Gender, CAST(742.50 AS money) AS YTDPurchase, CAST('2015-4-29' AS date) AS LastPurchase UNION SELECT 'James' AS FirstName, 'Bailey' AS LastName, 'British Columbia' AS StateProvince, 3 AS CountryRegionID, 'Male' AS Gender, CAST(1147.50 AS money) AS YTDPurchase, CAST('2015-6-15' AS date) AS LastPurchase UNION SELECT 'Bridget' AS FirstName, 'She' AS LastName, 'Hamburg' AS StateProvince, 4 AS CountryRegionID, 'Female' AS Gender, CAST(7497.30 AS money) AS YTDPurchase, CAST('2015-5-10' AS date) AS LastPurchase UNION SELECT 'Alexander' AS FirstName, 'Martin' AS LastName, 'Saxony' AS StateProvince, 4 AS CountryRegionID, 'Male' AS Gender, CAST(2997.60 AS money) AS YTDPurchase, CAST('2015-11-19' AS date) AS LastPurchase UNION SELECT 'Yolanda' AS FirstName, 'Sharma' AS LastName ,'Micronesia' AS StateProvince, 5 AS CountryRegionID, 'Female' AS Gender, CAST(3247.95 AS money) AS YTDPurchase, CAST('2015-8-23' AS date) AS LastPurchase UNION SELECT 'Marc' AS FirstName, 'Zimmerman' AS LastName, 'Moselle' AS StateProvince, 6 AS CountryRegionID, 'Male' AS Gender, CAST(1200.00 AS money) AS YTDPurchase, CAST('2015-11-16' AS date) AS LastPurchase UNION SELECT 'Katherine' AS FirstName, 'Abel' AS LastName, 'Moselle' AS StateProvince, 6 AS CountryRegionID, 'Female' AS Gender, CAST(2025.00 AS money) AS YTDPurchase, CAST('2015-12-1' AS date) AS LastPurchase UNION SELECT 'Nicolas' as FirstName, 'Anand' AS LastName, 'Seine (Paris)' AS StateProvince, 6 AS CountryRegionID, 'Male' AS Gender, CAST(1425.00 AS money) AS YTDPurchase, CAST('2015-12-11' AS date) AS LastPurchase UNION SELECT 'James' AS FirstName, 'Peters' AS LastName, 'England' AS StateProvince, 12 AS CountryRegionID, 'Male' AS Gender, CAST(887.50 AS money) AS YTDPurchase, CAST('2015-8-15' AS date) AS LastPurchase UNION SELECT 'Alison' AS FirstName, 'Nath' AS LastName, 'Alaska' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(607.50 AS money) AS YTDPurchase, CAST('2015-10-13' AS date) AS LastPurchase UNION SELECT 'Grace' AS FirstName, 'Patterson' AS LastName, 'Kansas' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(1215.00 AS money) AS YTDPurchase, CAST('2015-10-18' AS date) AS LastPurchase UNION SELECT 'Bobby' AS FirstName, 'Sanchez' AS LastName, 'North Dakota' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(6191.00 AS money) AS YTDPurchase, CAST('2015-9-17' AS date) AS LastPurchase UNION SELECT 'Charles' AS FirstName, 'Reed' AS LastName, 'Nebraska' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(8772.00 AS money) AS YTDPurchase, CAST('2015-8-27' AS date) AS LastPurchase UNION SELECT 'Orlando' AS FirstName, 'Romeo' AS LastName, 'Texas' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(8578.00 AS money) AS YTDPurchase, CAST('2015-7-29' AS date) AS LastPurchase UNION SELECT 'Cynthia' AS FirstName, 'Randall' AS LastName, 'Utah' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(7218.10 AS money) AS YTDPurchase, CAST('2015-1-11' AS date) AS LastPurchase UNION SELECT 'Rebecca' AS FirstName, 'Roberts' AS LastName, 'Washington' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(8357.80 AS money) AS YTDPurchase, CAST('2015-10-28' AS date) AS LastPurchase UNION SELECT 'Cristian' AS FirstName, 'Petulescu' AS LastName, 'Wisconsin' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(3470.00 AS money) AS YTDPurchase, CAST('2015-11-30' AS date) AS LastPurchase UNION SELECT 'Cynthia' AS FirstName, 'Randall' AS LastName, 'Utah' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(7218.10 AS money) AS YTDPurchase, CAST('2015-1-11' AS date) AS LastPurchase UNION SELECT 'Rebecca' AS FirstName, 'Roberts' AS LastName, 'Washington' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(8357.80 AS money) AS YTDPurchase, CAST('2015-10-28' AS date) AS LastPurchase UNION SELECT 'Cristian' AS FirstName, 'Petulescu' AS LastName, 'Wisconsin' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(3470.00 AS money) AS YTDPurchase, CAST('2015-11-30' AS date) AS LastPurchase
在查询设计器工具栏上选择“运行 (!)”。 结果集在以下列中显示 23 行数据:“FirstName”、“LastName”、“StateProvince”、“CountryRegionID”、“Gender”、“YTDPurchase”和“LastPurchase”。
选择下一步。
在“排列字段”页上,将以下字段按指定顺序从“可用字段”列表拖到“值”列表 。
- StateProvince
- CountryRegionID
- LastPurchase
- YTDPurchase
因为 CountryRegionID 和 YTDPurchase 包含数值数据,所以,SUM 聚合将默认应用于这两个字段,但你不希望对其进行求和。
在“值”列表中,右键单击“CountryRegionID”,然后取消选中“Sum”复选框 。
Sum 不再应用于 CountryRegionID。
在“值”列表中,右键单击 YTDPurchase,然后选择“Sum”选项。
Sum 不再应用于 YTDPurchase。
选择“下一步”。
在“选择布局”页上,保留所有默认设置,然后选择“下一步”。
选择“完成”。
2. 更新数据源和数据集的默认名称
更新数据源的默认名称
在“报表数据”窗格中,展开“数据源”文件夹。
右键单击“DataSource1”,然后选择“数据源属性”。
在“名称”框中,输入 ExpressionsDataSource
选择“确定”。
更新数据集的默认名称
在“报表数据”窗格中,展开“数据集”文件夹。
右键单击“DataSet1”,然后选择“数据集属性”。
在“名称”框中,输入 Expressions
选择“确定”。
3. 显示名字首字母和姓氏
在本部分,在表达式中使用 Left 函数和 Concatenate (&) 运算符(其计算结果为包括名字首字母和姓氏的姓名)。 你可以逐步生成表达式,也可以跳过一些步骤,将表达式从教程复制/粘贴到“表达式”对话框中。
右键单击 StateProvince 列,指向“插入列”,然后选择“左”。
一个新列添加到“StateProvince”列的左侧。
选择新列的标题,然后输入 Name。
右键单击 Name 列的数据单元,然后选择“表达式”。
在“表达式”对话框中,展开“常见函数”,然后选择“文本”。
在“项”列表中,双击“左” 。
将 Left 函数添加到表达式中。
在“类别”列表中,选择“字段(表达式)”。
在“值”列表中,双击 FirstName。
输入 , 1)
此表达式将从 FirstName 值提取一个字符,从左侧开始计数。
输入 &". "&
此表达式将在表达式后添加一个句点和一个空格。
在“值”列表中,双击 LastName。
完成的表达式:
=Left(Fields!FirstName.Value, 1) &". "& Fields!LastName.Value
选择“确定”。
选择“运行” 以预览报表。
(可选)设置日期列、货币列和标题行的格式
在此部分中,设置“Last Purchase”列和“YTDPurchase”列的格式,此两列分别包含日期和货币。 同样设置标题行的格式。
设置日期列的格式
选择“设计”返回设计视图。
选择“Last Purchase”列中的数据单元格,然后在“主文件夹”选项卡上 > 转至“数字”部分,选择“日期”。
另外,请在“数字”部分中,选择“占位符样式”旁边的箭头,然后选择“示例值”。
现可看到所选格式设置的示例。
设置货币列的格式
- 选择“YTDPurchase”列中的数据单元格,然后在“数字”部分,选择“货币符号”。
设置列标题的格式
选择列标题所在行。
在“主页”选项卡上,转至“段落”部分,选择“左”。
选择“运行” 以预览报表。
以下是目前为止的报表,具有设置了格式的日期、货币和列标题。
4. 使用颜色显示性别
在本部分中,将添加颜色以显示人员性别。 将添加一个新列以显示这些颜色,然后基于“性别”字段的值确定在列中显示的颜色。
如果要使报表成为带状报表时保留在该表格单元格中应用的颜色,请添加一个矩形。 然后将背景色添加到矩形。
添加 M/F 列
右键单击“Name”列,指向“插入列”,然后选择“左”。
一个新列添加到“Name”列的左侧。
选择新列的标题,然后输入 M/F。
添加矩形
在“插入”选项卡上,选择“矩形”,然后选择“M/F”列的数据单元。
将在该单元中添加一个矩形。
拖动“M/F”和“Name”列之间的分隔符,使“M/F”列变窄 。
使用颜色显示性别
右键单击“M/F”列的数据单元中的矩形,然后选择“矩形属性”。
在“矩形属性”对话框 >“填充”选项卡中,选择“填充颜色”旁边的表达式 fx 按钮。
在“表达式”对话框中,展开“常见函数”,然后选择“程序流”。
在“项”列表中,双击“Switch” 。
在“类别”列表中,选择“字段(表达式)”。
在“值”列表中,双击 Gender。
输入 ="Male",(包括逗号)。
在“类别”列表中,选择“常量”,然后在“值”框中,选择“青蓝色”。
在其后输入一个逗号。
在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,再次双击“Gender”。
输入 ="Female",(包括逗号)。
在“类别”列表中,选择“常量”,然后在“值”框中,选择“番茄色”。
在其后输入一个右括号 )。
完成的表达式:
=Switch(Fields!Gender.Value ="Male", "CornflowerBlue",Fields!Gender.Value ="Female","Tomato")
选择“确定”,然后再次选择“确定”关闭“矩形属性”对话框。
选择“运行” 以预览报表。
设置彩色矩形的格式
选择“设计”返回设计视图。
在“M/F”列选择该矩形。 在“边框”部分的“属性”窗格中,设置以下属性:
- BorderColor = 白色
- BorderStyle = 实线
- BorderWidth = 5pt
选择“运行”以再次预览报表。 此次,颜色块周围具有空白区域。
5. 查找 CountryRegion 名称
在此部分,创建 CountryRegion 数据集,使用 Lookup 函数显示国家/地区的名称,而非国家/地区的标识符。
创建 CountryRegion 数据集
选择“设计”返回设计视图。
在“报表数据”窗格中,选择“新建”,然后选择“数据集”。
在“数据集属性”中,选择“使用在我的报表中嵌入的数据集”。
在“数据源”列表中,选择“ExpressionsDataSource”。
在“名称”框中,输入 CountryRegion
确保已选择“文本”查询类型,然后选择“查询设计器”。
选择“编辑为文本”。
复制并将以下查询粘贴到查询窗格中:
SELECT 1 AS ID, 'American Samoa' AS CountryRegion UNION SELECT 2 AS CountryRegionID, 'Australia' AS CountryRegion UNION SELECT 3 AS ID, 'Canada' AS CountryRegion UNION SELECT 4 AS ID, 'Germany' AS CountryRegion UNION SELECT 5 AS ID, 'Micronesia' AS CountryRegion UNION SELECT 6 AS ID, 'France' AS CountryRegion UNION SELECT 7 AS ID, 'United States' AS CountryRegion UNION SELECT 8 AS ID, 'Brazil' AS CountryRegion UNION SELECT 9 AS ID, 'Mexico' AS CountryRegion UNION SELECT 10 AS ID, 'Japan' AS CountryRegion UNION SELECT 10 AS ID, 'Australia' AS CountryRegion UNION SELECT 12 AS ID, 'United Kingdom' AS CountryRegion
选择“运行”(!) 以运行查询。
查询结果是国家/地区标识符和名称。
选择“确定”。
再次选择“确定”以关闭“数据集属性”对话框。
现在,“报表数据”列有了第二个数据集。
查找 CountryRegion 数据集中的值
选择“国家/地区 ID”列标题,并删除文本 ID,以显示“国家/地区”。
右键单击“Country Region”列的数据单元,然后选择“表达式”。
删除表达式,开头的等号 (=) 除外。
剩余表达式为:
=
在“表达式”对话框中,展开“常见函数”,然后选择“杂项”,在“项”列表中,双击“查找”。
在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,双击 CountryRegionID。
将光标放在紧接
CountryRegionID.Value
之后,然后输入 ,Fields!ID.value, Fields!CountryRegion.value, "CountryRegion")。完成的表达式:
=Lookup(Fields!CountryRegionID.Value,Fields!ID.value, Fields!CountryRegion.value, "CountryRegion")
Lookup 函数的语法指定对表达式数据集的 CountryRegionID 和 CountryRegion 数据集中 ID 进行查找,返回 CountryRegion 数据集中的 CountryRegion 值。
选择“确定”。
选择“运行” 以预览报表。
6. 计算自上次采购后的天数
在本部分中,添加一列,然后使用 Now 函数或 ExecutionTime
内置全局变量计算客户自上次采购至今的天数。
添加 Days Ago 列
选择“设计”返回设计视图。
右键单击“Last Purchase”列,指向“插入列”,然后选择“右”。
一个新列将添加到“Last Purchase”列的右侧。
在列标题中,输入 Days Ago。
右键单击 Days Ago 列的数据单元格,然后选择“表达式”。
在“表达式”对话框中,展开“常见函数”,然后选择“日期和时间”。
在“项”列表中,双击 DateDiff。
紧随
DateDiff(
,输入 "d",(包括引号 "" 和逗号)。在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,双击 LastPurchase。
紧接
Fields!LastPurchase.Value
之后,输入 ,(逗号)。在“类别”列表中,再次选择“日期和时间”,然后在“项”列表中,双击“现在”。
警告
在生产报表中,不应在报表呈现过程中会多次计算的表达式中(例如,在报表的详细信息行中)使用 Now 函数。 Now 的值随行变化,不同的值会影响表达式的计算结果,这将导致结果略微不一致。 相反,使用 Reporting Services 提供的
ExecutionTime
全局变量。删除
Now(
后的左括号,然后输入右括号 )。完成的表达式:
=DateDiff("d", Fields!LastPurchase.Value, Now)
选择“确定”。
选择“运行” 以预览报表。
7. 使用指示器显示销售情况对比
在本部分中,添加一个新列,使用指示器显示某个人的年初至今 (YTD) 采购量是大于还是小于平均 YTD 采购量。 Round 函数从值中去掉小数部分。
需通过几个步骤配置指示器及其状态。 如果需要,可以跳过“配置指示器”过程,将已完成的表达式从本教程复制/粘贴到“表达式”对话框。
添加 + or - AVG Sales 列
右键单击 YTD Purchase 列,指向“插入列”,然后选择“右”。
将一个新列添加到“YTD Purchase”列的右侧。
选择列标题并输入 + or - AVG Sales。
添加指示器
在“插入”选项卡上,选择“指示器”,然后选择 + or - AVG Sales 列中的数据单元格。
“选择指示器类型”对话框即会打开。
在图标集的“方向”组中,选择由三个灰色箭头构成的图标集。
选择“确定”。
配置指示器
右键单击指示器,选择“指示器属性”,然后选择“值和状态”。
选择“值”文本框旁边的表达式 fx 按钮。
在“表达式”对话框中,展开“常见函数”,然后选择 Math。
在“项”列表中,双击 Round。
在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,双击 YTDPurchase。
紧随
Fields!YTDPurchase.Value
,输入 -(减号)。再次展开“常见函数”,选择“聚合”,然后在“项”列表中,双击 Avg。
在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,双击 YTDPurchase。
紧随
Fields!YTDPurchase.Value
之后,输入 , "Expressions"))。完成的表达式:
=Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions"))
选择“确定”。
在“状态度量单位”框中,选择“数字”。
在具有向下箭头的行中,选择“起始”值的文本框右侧的 fx 按钮。
在“表达式”对话框中,展开“常见函数”,然后选择 Math。
在“项”列表中,双击 Round。
在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,双击 YTDPurchase。
紧随
Fields!YTDPurchase.Value
,输入 -(减号)。再次展开“常见函数”,选择“聚合”,然后在“项”列表中,双击 Avg。
在“类别”列表中,选择“字段(表达式)”,然后在“值”列表中,双击 YTDPurchase。
紧随
Fields!YTDPurchase.Value
之后,输入 , "Expressions")) < 0完成的表达式:
=Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions")) < 0
选择“确定”。
在“结束”值的文本框中,输入 0。
选择具有水平方向箭头的行,然后选择“删除”。
现在仅有两个箭头,向上或向下。
在具有向上箭头的行的“起始”框中,输入 0。
选择“结束”值的文本框右侧的 fx 按钮。
在“表达式”对话框中,删除“100”并创建表达式:
=Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions")) >0
选择“确定”。
再次选择“确定”以关闭“指示器属性”对话框。
选择“运行” 以预览报表。
8. 制作镶边报表
创建参数以便报表读者可指定要应用于报表的交替行的颜色,使报表成为镶边报表。
添加参数
选择“设计”返回设计视图。
在“报表数据”窗格中,右键单击“参数”,然后选择“添加参数”。
此时将打开 “报表参数属性” 对话框。
在“提示”中,输入“选择颜色”。
在“名称”中,输入 RowColor。
在“可用值”选项卡上,选择“指定值”。
选择 添加 。
在“标签”框中,输入 Yellow。
在“值”框中,输入 Yellow。
选择 添加 。
在“标签”框中,输入 Green。
在“值”框中,输入 PaleGreen。
选择 添加 。
在“标签”框中,输入 Blue。
在“值”框中,输入 LightBlue。
选择 添加 。
在“标签”框中,输入 Pink。
在“值”框中,输入 Pink。
选择“确定”。
将交替颜色应用于详细信息行
- 选择数据行中的所有单元格, M/F 列中具有自己的背景色的单元格除外。
在“属性”窗格中,选择 BackgroundColor。
如果未看到“属性”窗格,则在“视图”选项卡上,选中“属性”框 。
如果在“属性”窗格中按类别列出属性,会在“杂项”类别中发现“BackgroundColor”。
选择向下箭头,然后选择“表达式”。
在“表达式”对话框中,展开“常见函数”,然后选择“程序流”。
在“项”列表中,双击“IIf”。
在“常见函数”下,选择“杂项”,然后在“项”列表中,双击 RowNumber。
紧随 RowNumber(之后,输入 Nothing)MOD 2,。
选择“参数”,在“值”列表中,双击 RowColor。
紧接
Parameters!RowColor.Value
之后,输入 , "White")。完成的表达式:
=IIF(RowNumber(Nothing) MOD 2, Parameters!RowColor.Value, "White")
选择“确定”。
运行报表
在“主文件夹”选项卡上,选择“运行”。
现在运行报表时,在为非白色镶边选择颜色之前无法看到报表。
在“选择颜色”列表中,为报表中的非白色镶边选择颜色。
选择“查看报表”。
该报表呈现,报表行交替呈现您所选的背景。
(可选)添加报表标题
为报表添加标题。
添加报表标题
在 Design Surface 上,选择“单击以添加标题”。
输入 Sales Comparison Summary,然后选择文本。
在“开始”选项卡上的“字体”框中,进行如下设置 :
- 大小 = 18
- 颜色 = 灰色
- 加粗
在“主文件夹”选项卡上,选择“运行”。
为报表中的非白色镶边选择颜色,然后选择“查看报表”。
(可选)保存报表
您可以将报表保存到报表服务器、SharePoint 库或本地计算机。 有关详细信息,请参阅保存报表(报表生成器)。
在本教程中,将报表保存到报表服务器。 如果你没有对 Report Server 的访问权限,则可以保存到你的计算机。
将报表保存到 Report Server
在“文件”菜单上,选择“另存为”。
选择“最近使用的站点和服务器”。
选择或输入你拥有保存报表权限的 Report Server 的名称。
此时将显示“正在连接到报表服务器”消息。 当连接完成时,你将看到 Report Server 管理员指定为默认报表位置的报表文件夹的内容。
为报表指定名称并选择“保存”。
报表即已保存至报表服务器。 你连接的 Report Server 的名称将显示在窗口底部的状态栏中。
现在,报表读者可以在 Reporting Services Web 门户中查看报表。