65.9K
CodeProject 正在变化。 阅读更多。
Home

SSRS 2008 中的主子报表

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2011年10月19日

CPOL

3分钟阅读

viewsIcon

46601

如何在 SSRS 2008 中创建主子报表或汇总子报表

问题

如何在 SSRS 2008 中创建主从或汇总明细报表?

解决方案

  1. 在报表解决方案中添加一个新报表,并将其命名为 “MasterDetails” 报表。
  2. 创建一个数据源。
  3. 创建 2 个数据集,分别命名为 “dsMaster” 和 “dsDetails”。
  4. 要创建这两个数据集,请查找一些主从明细表,例如,AccountType ? 主表 & Accounts ? 明细表。
  5. 首先创建主表的查询,如下所示,dsMaster
    SELECT ID, AccountType, Description FROM AccountType
  6. 然后创建明细的查询,dsDetails
    SELECT AccountID, DateCreated, Income, Expenditure FROM Accounts
    WHERE AccountType = @AccountType.
  7. 完成此操作后,@AccountType 参数将添加到我们的参数列表中,如下图所示

    image001.jpg

  8. 右键单击 “AccountTypeID” 参数
    1. 在此参数的“常规”选项卡上,转到“选择参数可见性”,然后从列表中选择“隐藏”。 (执行此步骤是为了在查看报表时,该参数不会在参数列表中显示。此参数的值在内部处理,这是下一步要完成的。)
    2. 现在转到“默认值”选项卡,然后选择“指定值”

      image002.jpg

    3. 单击“添加”按钮,将显示一个下拉列表。
    4. 现在单击 “fx” 按钮,并为该参数的默认值编写以下表达式。
      =-1 
    5. 现在单击“确定”,这将设置我们的参数。(此步骤会将默认值分配给我们的参数。如果您未执行此步骤,则会引发错误,因为未为参数分配任何值。)
  9. 现在,在设计区域中,添加 2 个表,一个用于主表,另一个用于明细表。
  10. 选择第一个表的 dataset 为 “dsMaster”,此表将显示我们的 表。
  11. 选择第二个表的 dataset 为 “dsDetails”,此表将显示我们的 明细表。
  12. 现在,在表上,单击要进行钻取操作的列明细。
  13. 在我们的示例中,我选择了 “Description”。
  14. 右键单击“Description”文本框,转到“文本框属性”。
  15. 在“文本框属性”上,转到“操作”选项卡。
  16. 在“操作”选项卡上,选择“转到报表”超链接,然后转到“指定报表”部分,在此处选择我们正在处理的当前报表(在我们的示例中,它是 “MasterDetails”)。
  17. 现在,映射加载此报表所需的所有参数,使用“添加”按钮添加它。
  18. 在我们的例子中,我们只有一个参数 “AccountTypeID”,从下拉列表中选择它。
  19. 对于此参数的值,从下拉列表中选择 ID,这来自第 1 dataset,即 “dsMaster”。 请参考下图进行设置

    image003.jpg

  20. 现在单击“确定”。
  21. 现在转到“字体”选项卡,然后在“效果”区域中选择“下划线”,这将有助于用户识别此单元格上存在链接。
  22. 完成此操作后,下一步是处理 “Details” 表的可见性。
  23. 这可以通过以下方式完成,首先将 “Details” 表映射到 “dsDetail” 数据集。
  24. 现在右键单击并选择“Tablix 属性”。
  25. 转到“Tablix 属性”的“可见性”选项卡。
  26. 在此处转到“最初运行报表时”部分,然后选择“根据表达式显示或隐藏”。
  27. 选择此项后,将显示一个文本框。 现在单击 “fx” 按钮并编写以下表达式
    =IIF(Parameters!AccountTypeID.Value <> -1, False, True)
  28. 此表达式可帮助我们控制第 2 表,即 “Details” 表的可见性。
  29. 请注意:在处理第 2 表的可见性时,请确保您选择用于控制可见性的参数的值在我们的数据库中不存在。
  30. 现在单击“确定”按钮。
  31. 现在预览报表,它将首先仅显示 “Master” 表。 但是,当您单击 “Description” 单元格时,“Details” 表将变为可见。
  32. 通过这种方式,我们可以在 SSRS 2008 中实现“主从明细”报表。
© . All rights reserved.