我试图显示一个分层(向下钻取)报告,该子报告中重复父级总计中的详细数据。例如。一个销售人员的层次结构,其中,每个销售人员可以生成销售和存在组成员: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;
当您说明深入分析时,您是否确实是指SSRS深入挖掘方案(即显示/隐藏行的切换项)或仅仅是分组的同义词?另外,你的数据集是什么样的 - 行之间的关系是什么?你可以添加一些样本数据? –
是的,实际向下钻取,即只有人1在总销售额为10的示例中最初可见。当我钻进人1时,我可以看到产生2的数量是人1本身,3是人3和人3,其本身可以钻入。 – TvdH