创建 Store_Contacts_2008R2 报表 (SSRS)

本教程帮助您基于 AdventureWorks 2008R2 示例报表创建 Store_Contacts_2008R2 报表。

此报表设计为供 Sales_Order_Detail_2008R2 报表使用的子报表。报表参数 @StoreID 是商店标识符。数据集查询将基于 @StoreID 值,从 AdventureWorks2008R2 数据库检索商店联系信息。一个商店可有多位联系人。有关全套报表及报表间关系的详细信息,请参阅教程:创建 AdventureWorks 2008R2 示例报表 (SSRS)

学习内容

在本教程中,您将执行以下任务:

  • 添加一个准备在主报表的子报表中使用的表。

  • 添加页眉和页脚信息,该信息将在此报表作为独立报表运行时显示,但在主报表中出现子报表实例时不显示该信息。

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

打开项目并添加新报表

  1. 在 Business Intelligence Development Studio 中,打开报表服务器项目 AdventureWorks 2008R2。

  2. 在解决方案资源管理器中,执行下列操作:

    1. 右键单击报表 AdventureWorks2008R2_Base.rdl,然后单击**“复制”**。

    2. 右键单击项目节点,然后单击**“粘贴”**。

    3. 将复制的报表重命名为 Store_Contacts_2008R2.rdl。

创建包含商店联系信息的数据集

  • 在“报表数据”窗格中,添加名为 StoreContacts 的嵌入数据集。使用 AdventureWorks2008R2 共享数据源及以下查询:

    SELECT s.BusinessEntityID, s.Name AS Store, ct.Name AS Title, p.FirstName, p.LastName, ph.PhoneNumber
    FROM Sales.Store AS s INNER JOIN
       Person.BusinessEntityContact AS bec ON bec.BusinessEntityID = s.BusinessEntityID INNER JOIN
       Person.ContactType AS ct ON ct.ContactTypeID = bec.ContactTypeID INNER JOIN
       Person.Person AS p ON p.BusinessEntityID = bec.PersonID INNER JOIN
       Person.PersonPhone AS ph ON p.BusinessEntityID = ph.BusinessEntityID
    WHERE (s.BusinessEntityID = @StoreID)
    

创建包含商店信息的数据集

  1. 添加名为 Stores 的嵌入数据集。

  2. 使用以下查询:

    SELECT DISTINCT BusinessEntityID, Name as Store
    FROM Sales.Store
    

您将使用此数据集向报表参数 @StoreID 提供可用值。

配置报表参数 @StoreID

  1. 使用“报表数据”窗格中,使用**“上移”**按钮将 @StoreID 移至第一个位置。

  2. 打开 @StoreID 的**“参数属性”**。

  3. 将**“提示”**更改为 Store:。

  4. 在**“可用值”上,选择“从查询中获取值”**。

  5. 对于**“数据集”**,选择 Stores。

  6. 对于**“值”**,请选择 BusinessEntityID。

  7. 对于**“标签”**,选择 Store。

  8. 在**“默认值”**上,添加一个值并将其设置为 642。

此值对应于名为 Advanced Bike Components 的商店。此商店具有两位联系人:一个采购员和一个采购经理。

将报表设置为子报表

  1. 当子报表出现在主报表中时,将显示除页眉和页脚外的所有内容。删除非专门用于将报表设置为子报表的报表项。

    将保留表体中的空白区域。在后面的步骤中添加表后,您将删除报表中的所有多余空白区域。

  2. 删除两个应用场景文本框。

添加具有一个详细信息行的表

  1. 添加用于显示商店联系信息的表。

  2. 插入一个名为 tblxContactInformation 的**“表”**。

  3. 删除标题行。

    该表具有一行。行控点 (详细信息行的 3 条平行线的行控点) 显示这是一个详细信息行。

  4. 从数据集 StoreContacts 中,先后将 [FirstName]、一个空格和 [LastName] 添加到第一个单元。

  5. 向第二个单元添加 Title]。

  6. 向第三个单元添加 [PhoneNumber]。

  7. 展开每列的宽度,以便名称和标题显示在单一行上。

  8. 单击行句柄,在“属性”窗格中展开 BorderStyle,并将 Default 设置为**“无”**。.

  9. 抓住行控点的底部,将该行压缩到最小高度。呈现主报表时,子报表行将根据需要垂直和水平延展。

  10. 删除表多余空白区域。

  11. 删除表四周的所有多余空白。

添加说明

  1. 在页脚中,将说明文本框中的文本替换为以下文本:用途:子报表。显示商店联系信息。用在 Sales_Order_Details_2008R2 中以显示多个商店联系人。包含在将报表呈现为子报表时所不包含的页眉和页脚项。

  2. 单击报表背景以便在属性窗格中显示**“报表属性”**。

  3. 在**“说明”**中,粘贴说明文本。

部署并检查报表

  1. 报表将自动运行。

  2. 选择某个商店时,相应的商店联系信息将随之显示。

  3. 将**“显示所有信息”**设置为 True 时,报表说明将显示在最后一页上。

后续步骤

您已生成了此报表。若要生成其他 AdventureWorks 示例报表,请参阅教程:创建 AdventureWorks 2008R2 示例报表 (SSRS)

请参阅

其他资源

更改历史记录

更新的内容

  • 已将报表更改为基于 AdventureWorks2008R2_Base.rdl