教程:表达式简介

表达式帮助您创建强大且灵活的报表。本教程指导您创建和实现使用常用函数和运算符的表达式。您将使用**“表达式”**对话框来编写表达式,这些表达式用于连接名称值、在单独的数据集中查找值和基于字段值显示不同的图片等。

该报表是一个条纹形式的报表,用白色和彩色交替显示行颜色。该报表包括用于选择非白色行的颜色的参数。

下图显示与您将创建的报表类似的报表。

实现表达式的绿色图条报表

学习内容

在本教程中,您将学习如何执行下列操作:

  1. 使用表向导或矩阵向导创建表报表和数据集

  2. 更新数据源和数据集的默认名称

  3. 显示名字、首字母和姓氏

  4. 使用图像显示性别

  5. 查找 CountryRegion 名称

  6. 计算自上次购买后的天数

  7. 使用指示器显示销售情况对比

  8. 使报表成为“绿色图条”报表

其他可选步骤

  • 设置日期列的格式

  • 添加报表标题

  • 保存报表

本教程的预计学时:30 分钟。

要求

有关要求的信息,请参阅教程先决条件 (Report Builder 3.0)

1.使用表向导或矩阵向导创建表报表和数据集

创建表报表、数据源和数据集。在您设计表的布局时,将只包含若干字段。完成向导后,您将手动添加列。该向导可便于您对表进行布局和应用样式。

注意注意

在本教程中,由于查询包含了数据值,因此它不需要外部数据源。这样,查询就会非常长。在业务环境中,查询不会包含数据。本教程中的查询仅供学习使用。

注意注意

在本教程中,将向导的多个步骤合并为一个过程。有关如何浏览到报表服务器、选择数据源和创建数据集的分步说明,请参阅这一系列教程中的第一个教程:教程:创建基本表报表 (Report Builder 3.0)

创建新的表报表

  1. 单击**“开始”,指向“程序”,单击“Microsoft SQL Server 2008 R2 Report Builder 3.0”,再单击“Report Builder 3.0”**。

    此时将显示**“入门”**对话框。

    注意注意

    如果不显示“入门”对话框,则从“报表生成器”按钮中单击“新建”

    注意注意

    如果您倾向于使用 Report Builder 3.0 的 ClickOnce 版本,请打开报表管理器,单击“报表生成器”,或者转到启用了报表之类的 Reporting Services 内容类型的 SharePoint 站点,然后在共享文档库的“文档”选项卡的“新建文档”菜单上单击“报表生成器报表”

  2. 在左窗格中,确认已选中**“新建报表”**。

  3. 在右窗格中,单击**“表或矩阵向导”**。

  4. 在**“选择数据集”页上,单击“创建数据集”**。

  5. 单击**“下一步”**。

  6. 在**“选择数据源的连接”页上,选择类型为“SQL Server”**的数据源。从列表中选择一个数据源或浏览到报表服务器以选择一个数据源。

  7. 单击**“下一步”**。

  8. 在**“设计查询”页上,单击“编辑为文本”**。

  9. 将以下查询粘贴到查询窗格中:

    SELECT 'Lauren' AS FirstName,'Johnson' AS LastName, 'American Samoa' AS StateProvince, 1 AS CountryRegionID,'Unknown' AS Gender, CAST(9996.60 AS money) AS YTDPurchase, CAST('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-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('2010-11-30' AS date) AS LastPurchase
    

    该查询指定列名称,这些名称包括出生日期、名字、姓氏、省/市/自治区、国家/地区标识符、姓氏和本年度截止到现在的采购额。

  10. 在查询设计器工具栏中,单击**“运行”(!**)。结果集显示 20 行的数据并包括以下列:FirstName、LastName、StateProvince、CountryRegionID、Gender、YTDPurchase 和 LastPurchase。

  11. 单击**“下一步”**。

  12. 在**“排列字段”页上,将以下字段按指定的顺序从“可用字段”列表拖到“值”**列表中。

    • StateProvince

    • CountryRegionID

    • LastPurchase

    • YTDPurchase

    因为 CountryRegionID 和 YTDPurchase 包含数值数据,所以,SUM 聚合将默认应用于这两个字段。

    注意注意

    FirstName 和 LastName 字段不包括在内。您将在以后的步骤中添加它们。

  13. 在**“值”**列表中,右键单击 CountryRegionID,然后单击 Sum 选项。

    Sum 不再应用于 CountryRegionID。

  14. 在**“值”**列表中,右键单击 YTDPurchase,然后单击 Sum 选项。

    Sum 不再应用于 YTDPurchase。

  15. 单击**“下一步”**。

  16. 在**“选择布局”页上,单击“下一步”**。

  17. 在**“选择样式”页中,单击“石板”,然后单击“完成”**。

2.更新数据源和数据集的默认名称

更新数据源的默认名称

  1. 在“报表数据”窗格中,展开**“数据源”**。

  2. 右键单击 DataSource1,然后单击**“数据源属性”**。

  3. 在**“名称”**框中,键入 ExpressionsDataSource。

  4. 单击“确定”。

更新数据集的默认名称

  1. 在“报表数据”窗格中,展开**“数据集”**。

  2. 右键单击 DataSet1,然后单击**“数据集属性”**。

  3. 在**“名称”**框中,键入 Expressions。

  4. 单击“确定”。

3.显示名字、首字母和姓氏

在表达式中使用 Left 函数和 Concatenate (&) 运算符(其求值结果为包括首字母和姓氏的名称)。您可以分步生成表达式或跳过某个过程,并且将表达式从教程复制/粘贴到**“表达式”**对话框中。

添加 Name 列

  1. 右键单击 StateProvince 列,指向**“插入列”,然后单击“左”**。

    一个新列将添加到 StateProvince 列的左侧。

  2. 单击新列的标题,然后键入 Name。

  3. 右键单击 Name 列的数据单元,然后单击**“表达式”**。

  4. 在**“表达式”对话框中,展开“常见函数”,再单击“文本”**。

  5. 在**“项”**列表中,双击 Left

    Left 函数将添加到表达式中。

  6. 在**“类别”列表中,单击“字段(表达式)”**。

  7. 在**“值”**列表中,双击 FirstName

  8. 键入 , 1)

    此表达式将从 FirstName 值提取一个字符,从左侧开始计数。

  9. 键入 &" "&

  10. 在**“值”**列表中,双击 LastName

    完成的表达式:=Left(Fields!FirstName.Value, 1) &" "& Fields!LastName.Value

  11. 单击“确定”。

  12. 单击**“运行”**以预览报表。

4.使用图像显示性别

使用图像可以显示人员的性别,并且通过使用第三个图像标识未知性别值。您将向报表添加三个隐藏的图像和一个用于显示这些图像的新列,然后基于“性别”字段的值确定在列中出现的图像。

为了在使报表成为条纹形式的报表时将颜色应用于包含该图像的表单元,您将添加一个矩形,然后将该图像应用于该矩形。您需要使用矩形,因为您可以将背景色应用于矩形,但不能应用于图像。

本教程使用随 Windows 一起安装的图像,但您可以使用任何可供使用的图像。您将使用嵌入图像,并且这些图像无需安装在您的本地计算机或报表服务器上。

向表体添加图像

  1. 单击**“设计”**返回设计视图。

  2. 在功能区的**“插入”选项卡上,单击“图像”**,然后在表下面的表体中单击。

    将打开**“图像属性”**对话框。

  3. 单击**“导入”**并导航到 C:\Users\Public\Public Pictures\Sample Pictures。

  4. 单击 Penguins.JPG,然后单击**“打开”**。

    在**“图像属性”对话框中,单击“可见性”,然后单击“隐藏”**选项。

  5. 单击“确定”。

  6. 重复执行第 2 步到第 5 步,但选择 Koala.JPG。

  7. 重复执行第 2 步到第 5 步,但选择 Tulips.JPG。

添加 Gender 列

  1. 右键单击 Name 列,指向**“插入列”,然后单击“右”**。

    一个新列将添加到 Name 列的右侧。

  2. 单击新列的标题,然后键入 Gender。

添加矩形

  • 在功能区的**“插入”选项卡上,单击“矩形”**,然后在 Gender 列的数据单元中单击。

    将在该单元中添加一个矩形。

向矩形添加图像

  1. 在该矩形中右键单击,指向**“插入”,然后单击“图像”**。

  2. 在**“图像属性”对话框中,单击“使用此图像”**旁的向下箭头,然后选择您添加的图像之一,例如 Penguins.JPG。

  3. 单击“确定”。

使用图像显示性别

  1. 右键单击 Gender 列的数据单元中的图像,然后单击**“图像属性”**。

  2. 在**“图像属性”对话框中,单击“使用此图像”**文本框旁边的表达式 fx 按钮。

  3. 在**“表达式”对话框中,展开“常见函数”,再单击“程序流”**。

  4. 在**“项”**列表中,双击 Switch

  5. 在**“类别”列表中,单击“字段(表达式)”**。

  6. 在**“值”**列表中,双击 Gender

  7. 键入 ="Male", "Koala",

  8. 在**“值”**列表中,双击 Gender

  9. 键入 ="Female", "Penguins",

  10. 在**“值”**列表中,双击 Gender

  11. 键入 ="Unknown", "Tulips")

    完成的表达式:=Switch(Fields!Gender.Value ="Male", "Koala",Fields!Gender.Value ="Female","Penguins",Fields!Gender.Value ="Unknown","Tulips")

  12. 单击“确定”。

  13. 再次单击**“确定”以便关闭“图像属性”**对话框。

  14. 单击**“运行”**以预览报表。

5.查找 CountryRegion 名称

创建 CountryRegion 数据集,并且使用 Lookup 函数显示国家/地区的名称,而非国家/地区的标识符。

创建 CountryRegion 数据集

  1. 单击**“设计”**返回设计视图。

  2. 在“报表数据”窗格中,单击**“新建”,然后单击“数据集”**。

  3. 单击**“使用在我的报表中嵌入的数据集”**。

  4. 在**“数据源”**列表中,选择 ExpressionsDataSource。

  5. 在**“名称”**框中,键入 CountryRegion。

  6. 确保已选择**“文本”查询类型,然后单击“查询设计器”**。

  7. 单击**“编辑为文本”**。

  8. 复制并将以下查询粘贴到查询窗格中:

    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
    
  9. 单击**“运行”(!**) 以运行查询。

    查询结果是国家/地区标识符和名称。

  10. 单击“确定”。

  11. 再次单击**“确定”以便关闭“数据集属性”**对话框。

查找 CountryRegion 数据集中的值

  1. 单击 Country Region ID 列标题并且删除文本 ID。

  2. 右键单击 Country Region 列的数据单元,然后单击**“表达式”**。

  3. 删除表达式,只有最初的等号 (=) 除外。

    其余表达式为:=

  4. 在**“表达式”对话框中,展开“常见函数”,再单击“杂项”**。

  5. 在**“项”**列表中,双击 Lookup

  6. 在**“类别”列表中,单击“字段(表达式)”**。

  7. 在**“值”**列表中,双击 CountryRegionID

  8. 如果鼠标光标不是紧接在 CountryRegionID.Value 之后,则将光标置于其后。

  9. 删除右括号,然后键入 ,Fields!ID.value, Fields!CountryRegion.value, "CountryRegion")

    完成的表达式:=Lookup(Fields!CountryRegionID.Value,Fields!ID.value, Fields!CountryRegion.value, "CountryRegion")

    Lookup 函数的语法指定返回 CountryRegion 值(该值也位于 CountryRegion 数据集中)的 CountryRegion 数据集中 CountryRegionID 和 ID 之间的查找。

  10. 单击“确定”。

  11. 单击**“运行”**以预览报表。

6.计算自上次购买后的天数

添加一列,然后使用 Now 函数或 ExecutionTime 内置全局变量来计算某人自上次购买后距今天的天数。

添加 Days Ago 列

  1. 单击**“设计”**返回设计视图。

  2. 右键单击 Last Purchase 列,指向**“插入列”,然后单击“右”**。

    一个新列将添加到 Last Purchase 列的右侧。

  3. 在列标题中,键入 Days Ago。

  4. 右键单击 Days Ago 列的数据单元,然后单击**“表达式”**。

  5. 在**“表达式”对话框中,展开“常见函数”,再单击“日期和时间”**。

  6. 在**“项”**列表中,双击 DateDiff

  7. 如果鼠标光标不是紧接在 DateDiff( 之后,则将光标置于其后。

  8. 键入 "d",

  9. 在**“类别”列表中,单击“字段(表达式)”**。

  10. 在**“值”**列表中,双击 LastPurchase

  11. 如果鼠标光标不是紧接在 Fields!LastPurchase.Value 之后,则将光标置于其后。

  12. 键入 ,

  13. 在**“类别”列表中,再次单击“日期和时间”**。

  14. 在**“项”**列表中,双击 Now

    注意事项注意

    在生产报表中,您不应在报表呈现时被多次计算的表达式中(例如,在报表的详细信息行中)使用 Now 函数。Now 的值将逐行更改,并且不同值将影响表达式的计算结果,这将导致稍有不一致的结果。您而是应使用 Reporting Services 提供的 ExecutionTime 全局变量。

  15. 如果鼠标光标不是紧接在 Now( 之后,则将光标置于其后。

  16. 删除左括号,然后键入 )

    完成的表达式:=DateDiff("d", Fields!LastPurchase.Value, Now)

  17. 单击“确定”。

7.使用指示器显示销售情况对比

添加一个新列,然后使用指示器显示某个人的年初至今 (YTD) 购买额是高于还是低于平均 YTD 购买额。Round 函数将从值中删除小数。

该指示器及其状态的配置要求许多步骤。您可以根据需要跳过“配置指示器”过程,并且将已完成的表达式从该教程复制/粘贴到**“表达式”**对话框。

添加 + or - AVG Sales 列

  1. 右键单击 YTD Purchase 列,指向**“插入列”,然后单击“右”**。

    一个新列将添加到 YTD Purchase 列的右侧。

  2. 单击该列的标题,然后键入 + or - AVG Sales。

添加指示器

  1. 在功能区的**“插入”选项卡上,单击“指示器”**,然后在 + or - AVG Sales 列的数据单元中单击。

    **“选择指示器类型”**对话框即会打开。

  2. 在图表集的**“方向”**组中,单击由三个灰色箭头构成的那一组。

  3. 单击“确定”。

配置指示器

  1. 右键单击指示器,单击**“指示器属性”,然后单击“值和状态”**。

  2. 单击**“值”**文本框旁边的表达式 fx 按钮。

  3. 在**“表达式”对话框中,展开“常见函数”**,再单击 Math

  4. 在**“项”**列表中,双击 Round

  5. 在**“类别”列表中,单击“字段(表达式)”**。

  6. 在**“值”**列表中,双击 YTDPurchase

  7. 如果鼠标光标不是紧接在 Fields!YTDPurchase.Value 之后,则将光标置于其后。

  8. 键入 -

  9. 再次展开**“常见函数”**,然后单击 Aggregate

  10. 在**“项”**列表中,双击 Avg

  11. 在**“类别”列表中,单击“字段(表达式)”**。

  12. 在**“值”**列表中,双击 YTDPurchase

  13. 如果鼠标光标不是紧接在 Fields!YTDPurchase.Value 之后,则将光标置于其后。

  14. 键入 , "Expressions"))

    完成的表达式:=Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions"))

  15. 单击“确定”。

  16. 在**“状态度量单位”框中,选择“数字”**。

  17. 在具有向下箭头的行中,单击**“开始”**值的文本框右侧的 fx 按钮。

  18. 在**“表达式”对话框中,展开“常见函数”**,再单击 Math

  19. 在**“项”**列表中,双击 Round

  20. 在**“类别”列表中,单击“字段(表达式)”**。

  21. 在**“值”**列表中,双击 YTDPurchase

  22. 如果鼠标光标不是紧接在 Fields!YTDPurchase.Value 之后,则将光标置于其后。

  23. 键入 -

  24. 再次展开**“常见函数”**,然后单击 Aggregate

  25. 在**“项”**列表中,双击 Avg

  26. 在**“类别”列表中,单击“字段(表达式)”**。

  27. 在**“值”**列表中,双击 YTDPurchase

  28. 如果鼠标光标不是紧接在 Fields!YTDPurchase.Value 之后,则将光标置于其后。

  29. 键入 , "Expressions")) < 0

    完成的表达式:=Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions")) < 0

  30. 单击“确定”。

  31. 在**“结束”**值的文本框中,键入 0

  32. 单击具有水平指向的箭头的行,然后单击**“删除”**。

  33. 在具有向上箭头的行的**“开始”**框中,键入 0。

  34. 单击**“结束”**值的文本框右侧的 fx 按钮。

  35. 在**“表达式”**对话框中,创建表达式:=Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions")) >0

  36. 单击“确定”。

  37. 再次单击**“确定”以便关闭“指示器属性”**对话框。

  38. 单击**“运行”**以预览报表。

8.使报表成为“绿色图条”报表

使用参数以便指定要应用于报表中的交替行的颜色,以使该报表成为条纹形式的报表。

添加参数

  1. 单击**“设计”**返回设计视图。

  2. 在**“报表数据”窗格中,右键单击“参数”,然后单击“添加参数”**。

    此时将打开**“报表参数属性”**对话框。

  3. 在提示符下,键入 Choose color

  4. 在**“名称”**中,键入 RowColor。

  5. 在左窗格中单击**“可用值”**。

  6. 单击**“指定值”**。

  7. 单击**“添加”**。

  8. 在**“标签”**框中,键入 Yellow。

  9. 在**“值”**框中,键入 Yellow

  10. 单击**“添加”**。

  11. 在**“标签”**框中,键入 Green。

  12. 在**“值”**框中,键入 PaleGreen

  13. 单击**“添加”**。

  14. 在**“标签”**框中,键入 Blue。

  15. 在**“值”**框中,键入 LightBlue

  16. 单击**“添加”**。

  17. 在**“标签”**框中,键入 Pink。

  18. 在**“值”**框中,键入 Pink

  19. 单击“确定”。

将交替颜色应用于详细信息行

  1. 单击功能区上的**“视图”选项卡,确认选中了“属性”**。

  2. 在按住 Shift 键的同时单击 Name 列的数据单元。

  3. 逐一单击行中的其他单元。

  4. 在“属性”窗格中,单击 BackgroundColor

    如果“属性”窗格按类别列出属性,则您将在**“填充”**类别下找到 BackgroundColor

  5. 单击向下箭头,然后单击**“表达式”**。

  6. 在**“表达式”对话框中,展开“常见函数”,再单击“程序流”**。

  7. 在**“项”**列表中,双击 IIf

  8. 再次展开**“常见函数”**,然后单击 Aggregate

  9. 在**“项”**列表中,双击 RunningValue

  10. 在**“类别”列表中,单击“字段(表达式)”**。

  11. 在**“值”**列表中,双击 FirstName

  12. 如果鼠标光标不是紧接在 Fields!FirstName.Value 之后,则将光标置于其后并键入 , 。

  13. 再次展开**“常见函数”**,然后单击 Aggregate

  14. 在**“项”**列表中,双击 Count

  15. 如果鼠标光标不是紧接在 Count( 之后,则将光标置于其后。

  16. 删除左括号,然后键入 ,“Expressions”)

    注意注意

    Expressions 是要对其中的数据行进行计数的数据集的名称。

  17. 展开**“运算符”,然后单击“算术”**。

  18. 在**“项”**列表中,双击 Mod

  19. 如果鼠标光标不是紧接在 Mod 之后,则将光标置于其后。

  20. 键入 2 =0,

    重要说明重要提示

    请确保在键入数值 2 之前包含一个空格。

  21. 单击**“参数”,在“值”**列表中,双击 RowColor

  22. 如果鼠标光标不是紧接在 Parameters!RowColor.Value 之后,则将光标置于其后。

  23. 键入 , “White”)

    完成的表达式:=IIf(RunningValue(Fields!FirstName.Value,Count, "Expressions") Mod 2 =0, Parameters!RowColor.Value, "White")

  24. 单击“确定”。

运行报表

  1. 如果未处于**“主页”选项卡上,则单击“主页”**以便返回到设计视图。

  2. 单击**“运行”**。

  3. 在**“选择颜色”**下拉列表中,选择报表上非白色条的颜色。

  4. 单击**“查看报表”**。

    该报表将呈现并且交替行具有您选择的背景。

(可选)设置日期列的格式

设置包含日期的 Last Purchase 列的格式。

设置日期列的格式

  1. 单击**“设计”**返回设计视图。

  2. 右键单击 Last Purchase 列的数据单元,然后单击**“文本框属性”**。

  3. 在**“文本框属性”对话框中,依次单击“数字”“日期”**和类型 *1/31/2000

  4. 单击“确定”。

(可选)添加报表标题

为报表添加标题。

添加报表标题

  1. 在设计图面上,单击**“单击以添加标题”**。

  2. 键入 Sales Comparison Summary,然后在文本框外部单击。

  3. 右键单击包含 Sales Comparison Summary 的文本框,然后单击**“文本框属性”**。

  4. 在**“文本框属性”对话框中,单击“字体”**。

  5. 在**“大小”列表中,选择“18pt”**。

  6. 在**“颜色”列表中,选择“灰色”**。

  7. 选择**“粗体”“斜体”**。

  8. 单击“确定”。

(可选)保存报表

您可以将报表保存到报表服务器、SharePoint 库或本地计算机。有关详细信息,请参阅报表服务器和 SharePoint 报表服务器(Report Builder 3.0 和 SSRS)

在本教程中,将报表保存到报表服务器。如果您没有对报表服务器的访问权限,则可以保存到您的计算机。

将报表保存到报表服务器

  1. 从**“报表生成器”按钮,单击“另存为”**。

  2. 单击**“最近使用的站点和服务器”**。

  3. 选择或键入您拥有保存报表权限的报表服务器的名称。

    此时将显示“正在连接到报表服务器”消息。当连接完成时,您将看到报表服务器管理员指定为默认报表位置的报表文件夹的内容。

  4. 在**“名称”**中,用 Sales Comparison Summary 替换默认名称。

  5. 单击**“保存”**。

报表即已保存至报表服务器。所连接的报表服务器的名称将在窗口底部的状态栏中显示。

将报表保存到计算机上

  1. 从**“报表生成器”按钮,单击“另存为”**。

  2. 单击**“桌面”“我的文档”“我的电脑”**,然后浏览到要将报表保存到的文件夹。

  3. 在**“名称”**中,用 Sales Comparison Summary 替换默认名称。

  4. 单击**“保存”**。