2013-09-16 22 views
1

我试图显示一个分层(向下钻取)报告,该子报告中重复父级总计中的详细数据。例如。一个销售人员的层次结构,其中,每个销售人员可以生成销售和存在组成员:SSRS深入了解其中的父级详细信息组

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

人1和3在这个例子中是基销售线索和其行中显示的总销售额包括直接销售产品y以及销售人员在其小组中的销售情况。因此,为了正确显示销售来自哪里,人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; 
+0

当您说明深入分析时,您是否确实是指SSRS深入挖掘方案(即显示/隐藏行的切换项)或仅仅是分组的同义词?另外,你的数据集是什么样的 - 行之间的关系是什么?你可以添加一些样本数据? –

+0

是的,实际向下钻取,即只有人1在总销售额为10的示例中最初可见。当我钻进人1时,我可以看到产生2的数量是人1本身,3是人3和人3,其本身可以钻入。 – TvdH

回答

0
  1. 你可以使用一个表中插入细节:SPID和秒。 金额
  2. ,那么你会** ADDD集团**行通过在 详细信息行右击从上面和选择添加父组。它会 提示您组由,你会选择PID

  3. 然后,您可以与知名度发挥允许向下钻取,所以 当您生成报表中的所有细节行会隐藏和 您可以单击父组行以显示 的详细信息。就像你拥有的一样。

这应该是一个良好的开端,我不知道你的数据集的样子,我可以帮你进一步,如果你提供。