在详细信息组中重复父项的SSRS明细

时间:2013-09-16 13:10:01

标签: reporting-services ssrs-2008 grouping

我正在尝试显示分层(明细)报告,该报告重复子组中父总计的详细数据。例如。销售人员层次结构,每个销售人员可以生成销售并拥有组成员:

- 第1人:总销售额10
----人1:2
----人2:3
---- 人3:总销售额5
------人3:2
------人4:3

此示例中的第1个人和第3个人是小组负责人,其行中显示的总销售额包括由他们直接生成的销售额以及销售人员在其组中产生的销售额。因此,为了正确显示销售来自何处,人员1也必须像小组成员一样显示(相同 - 下面一个级别 - 对于第3个人)。

数据源是SQL查询。我尝试了几个行分组选项,并尝试将数据作为嵌套集传递或将级别放入单独的列中但我无法找到另一种方法来完成此操作而不是在复杂的SQL查询中预格式化数据 - 我希望他们的是一种更像SSRS的方式来实现这一目标。

分层数据示例:

DECLARE @salespeople TABLE (SpID INT, ParentID INT);
DECLARE @sales TABLE (SpID INT, Amount INT);

INSERT INTO @salespeople (SpID, ParentID) VALUES
(1, NULL),
(2, 1),
(3, 1),
(4, 2);

INSERT INTO @sales (SpID, Amount) VALUES
(1, 2),
(2, 3),
(3, 2),
(4, 3);

WITH rowgroup
AS
(
    SELECT ParentID, sp.SpId, s.Amount
    FROM @salespeople sp
    JOIN @sales s ON sp.SpID = s.SpID
    WHERE ParentID IS NULL
    UNION ALL
    SELECT sp.ParentID, sp.SpId, s.Amount
    FROM @salespeople sp
    JOIN @sales s ON sp.SpID = s.SpID
    JOIN rowgroup r ON r.SpID = sp.ParentID
)
SELECT * FROM rowgroup;

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用表格插入详细信息:SPID和。 量
  2. 然后你可以通过右键点击添加组**行 上面的详细行并选择添加父组。它会 提示您分组,然后选择 PID

  3. 然后,您可以使用可见性来进行向下钻取,这样就可以了 生成报告时,所有明细行都将隐藏和 您可以点击父组行以显示 细节。就像你拥有的一样。

  4. 这应该是一个好的开始,我不知道你的数据集是什么样的,如果你提供的话,我可以帮助你。