第 5 课:添加要传递给钻取报表的参数 (SSRS)

钻取报表是通过单击当前报表中的链接对其进行访问的一种报表。单击具有钻取操作的文本框,即可打开钻取报表。如果钻取报表具有参数,则必须为每个报表参数传递参数值。

在本课中,您将设计一个新报表,用于显示使用参数指定的销售订单的详细信息数据。您将打开现有报表,并为销售订单号创建钻取操作。当运行该报表并单击销售订单号时,新报表随即打开并显示该销售订单的详细信息。

向打开的报表服务器项目添加新报表

  1. 在解决方案资源管理器中,右键单击**“报表”,指向“添加”,再单击“新建项”**。

  2. 在**“添加新项”对话框的“模板”下,单击“报表”**。

  3. 在**“名称”中,键入 Sales Order Detail.rdl,再单击“添加”**。

    此时报表设计器将打开,并在“设计”视图中显示新的报表定义。

创建对共享数据源的引用

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

    注意注意

    如果未显示“报表数据”窗格,请单击“视图”菜单上的“报表数据”

  2. 在**“名称”**中,键入 AdventureWorks_Ref。

  3. 选择**“使用共享数据源引用”**。

  4. 从下拉列表中选择 AdventureWorks。

  5. 单击“确定”。

新建数据集

  1. 在“报表数据”窗格中,右键单击数据源 AdventureWorks_Ref,然后单击**“添加数据集”**。

  2. 在**“名称”**中,键入 SalesDetails。

  3. 将以下查询粘贴到**“查询”**文本框中:

    SELECT P.Name AS Product, SD.OrderQty AS Quantity, SD.LineTotal 
    FROM Sales.SalesOrderDetail AS SD 
       INNER JOIN Production.Product AS P 
       ON SD.ProductID = P.ProductID 
       INNER JOIN Sales.SalesOrderHeader AS SOH 
       ON SD.SalesOrderID = SOH.SalesOrderID
    WHERE (SOH.SalesOrderNumber = (@SalesOrder) )
    ORDER BY SD.SalesOrderDetailID
    

    请注意,若要为数据集创建字段集合,您无需使用查询参数值在查询设计器中运行查询。

  4. (可选)打开查询设计器,并单击工具栏上的**“运行”(!**)。为 @ SalesOrder 提供以下值:SO43659。结果窗格显示 12 种产品。单击“确定”。

  5. 单击“确定”。

  6. 在“报表数据”窗格中,展开“参数”,并确保显示 SalesOrder 参数。

向表添加数据集字段

  1. 使用工具箱将表拖到设计图面。

  2. 从“报表数据”窗格中,将以下字段拖到“Data”行中的表单元:Product、Quantity 和 LineTotal。

  3. 预览报表。

    在运行报表之前,必须输入一个有效的销售订单号。

  4. 在报表查看器工具栏上,在 Sales Order 中键入 SO43659,然后单击**“查看报表”**。

    报表随即显示指定销售订单的行总计。

设置表的格式

  1. 切换到“设计”视图。

  2. 右键单击包含 [LineTotal] 的单元,并单击**“文本框属性”**。

  3. 单击**“数字”**。

  4. 在**“类别”中,单击“货币”**。

  5. 单击“确定”。 

  6. 在表中单击包含列标题的第一行的行控点。随即将选中该行中的所有单元。

  7. 从**“格式”菜单中指向“字体”,并单击“加粗”**。

    查看报表时,LineTotal 的值显示为货币,并以粗体显示列标题。

接下来,在主报表中添加钻取操作以便指定该报表。

向报表添加报表钻取操作

  1. 在解决方案资源管理器中,双击 Sales Orders.rdl。将在**“设计”**视图中打开此报表。

  2. Order 列中,右键单击包含 [Order] 的文本框,然后单击**“文本框属性”**。

  3. 单击**“操作”**。

  4. 在**“启用为超链接”中,选择“转到报表”**。

    此时将在对话框中显示其他区域。

  5. 在**“从列表中选择报表”**的下拉列表中,选择 Sales Order Detail

  6. 在**“使用这些参数运行报表”中,单击“添加”**。

    此时将向网格添加一个新行。

  7. 在**“名称”**中,从显示了为报表定义的参数列表的下拉列表中,选择 SalesOrder

  8. 在**“值”**的下拉列表中,选择 [Order]。

    这会将主报表的值绑定到需要目标报表的参数。

    下一步将更改钻取链接的文本样式和颜色。

  9. 单击**“字体”**。

  10. 在**“效果”的下拉列表中,选择“下划线”**。

  11. 单击**“颜色”旁的 (fx),打开“表达式”**对话框。

  12. 用其他颜色替换默认文本**“黑色”**,例如“蓝色”。

    注意注意

    若要查看字体颜色的有效值,请单击“值”窗格中的“其他颜色”。此时将打开“选择颜色”对话框。您可以浏览该对话框中的有效颜色,并选择要使用的颜色。单击“确定”。

  13. 单击两次**“确定”**。

添加的文本框现在具有带下划线的文本,并且将按照您选择的颜色显示。这种直观的表示方式有助于报表读者了解存在指向另一个报表的活动链接。

预览报表

  1. 单击“预览”。Sales Orders 报表显示按日期分组的销售订单。Order 列显示表示钻取链接的销售订单号。

  2. 单击带有钻取链接的销售订单号。

    此时将运行钻取链接指定的报表,并显示单击的销售订单号的订单详细信息。

    注意注意

    若要返回到主报表,请使用报表查看器工具栏上的返回箭头。

后续步骤

这样,您就成功完成对“向报表添加参数”教程的学习。若要了解更多报表方法,请参阅教程 (SSRS)