首页 > 解决方案 > SSRS - 将多个值传递给子报告中的过滤器

问题描述

一段时间以来,我一直被困在一项工作上,但我无法找到解决方案,并希望得到一些支持。我已经清除了一些匿名数据。

我有一份报告,其中详细说明了团队成员所采取的行动。每个动作都是原始数据集中的一行。

报告第一页

首先,我有两个总计,它们是对显示所有数据行的子报表的钻取。

下面是一个表格,概述了每个部门、团队和团队成员以及分别采取的行动数量。

以黄色突出显示的值表示对子报表的钻取,旨在仅返回已过滤的任何团队/个人。

我只是无法有效地将预期值传递给子报告。

目前,我能够为个人正确返回数据,但钻取不适用于团队、部门和整个整体级别。

在对子报告的钻取操作中,我有以下内容:

然后在子报告中有一个名为 pDispatchPerson 的参数设置为“隐藏”和“允许多个值”。

当我尝试在团队或部门级别进行钻取时,它似乎只是通过了它为 Dispatch Person 找到的第一个值,而我实际上希望它通过该团队或部门中包含的任何值。

以下是我尝试过的一些事情:

我已经在各种情况下尝试了上述组合,但仍然没有运气。

任何帮助将不胜感激。

约旦

标签: sqlreporting-services

解决方案


我会更改您的子报表以接受两个参数,一个用于个人,一个用于团队。

在子报表的数据集查询中,WHERE 子句将包含选择正确记录的逻辑。例如

SELECT * 
    FROM myTable a 
    WHERE (
           (a.TeamID = @TeamID AND @PersonID IS NULL)
           OR
           (a.PersonID = @PersonID AND @TeamID IS NULL)
          )

在您的主报告中,只需传入适当的参数值(团队或人员 ID)并将另一个值设置为 null。


推荐阅读