每行不同的钻取

Different drill through for each row

我有一份 SSRS 报告,其中包含多个向下钻取级别。为顶级视图聚合了数据,但我需要根据其中一列的类型显示不同的向下钻取报告。

例如:

Table 1 - 苹果

Name     Cost
Fuji     1.5
Gala     3.5

Table 2 - 南瓜

Name        Cost
Pumpkin     2
Gourd       4.5

我有一个存储过程,它聚合这些并将它们放在一个 table 中以供顶级报告显示。即:

Name         Cost     ItemType
Apples       5        1
Squashes     6.5      2

实际上,这两个 table 有不同的列,我需要在钻取报告中显示这些列。是否可以查看 ItemType 列并根据其值深入到两个子报告之一?

您可以在子报表中添加 ItemType 作为参数。然后从您的主报表 link 或跳转到子报表并在参数配置选项卡中传递 Fields!ItemType.Value

如果您需要在两个或多个不同的子报告之间进行选择,请将文本框上操作的 ReportName 属性 设为这样的表达式。

=IIF(Fields!ItemType.Value = 1, "subReport_Apples", "subReport_Oranges")

如果你有几个SWITCH可能会更好

= SWITCH (
          Fields!ItemType.Value = 1, "subReport_Apples",
          Fields!ItemType.Value = 2, "subReport_Oranges",
          Fields!ItemType.Value = 3, "subReport_Lemons",
          True, "subReport_AnythingElse"
)

如果您有很多项目类型,请考虑将子报表的名称添加到您的数据库中,创建一个包含 ItemTypesubReportName 的新 table。然后,您可以在查询中加入它并获取实际的子报表名称。文本操作的 ReportName 属性 将只是 Fields!SubReportname.Value