免责声明 : 我是 SSRS n00b,所以请不要吃太多烂番茄 :)
我有一个使用 Recursive Parent property 构建 Reporting Services 的员工和经理层次结构。 .这是一个粗略的表示:
-Jim Bob
Ray
-Steve
Ricky Bobby
Terry
例如,我需要统计史蒂夫手下的人数,但是当我调用
Count(Fields!EmployeeID.Value, "Details", Recursive)
时我得到 3 而不是 2 .当然,我可以在计数的情况下减去 1,但是当我需要一个总和时,这将不起作用。所以真正的问题是如何获得排除父级的递归聚合? 附加信息:我只有一个组,它是默认的详细信息组。它的设置就像 this example ,所以我按 EmployeeID 分组,并将递归父级设置为 ManagerID。
更新
我尝试过的一些解决方法无济于事:
有任何想法吗?
最佳答案
你可以考虑几件事。
1)您可以在提供报告的 SQL 查询中提供计数,然后使用简单地为每个组报告它
=FIRST(Fields!FieldThatHasCount.Value).
2) 您可以使用报表的代码块来迭代调用函数,增加共享变量的计数或在父部分和子部分之间进行某种算术运算以反射(reflect)报告出现时的计数。我知道根据 SSRS 版本以及报告中的复杂程度、嵌套、子报告等,我遇到了这种方法的复杂性。
关于reporting-services - SSRS 递归计数 - 如何仅为子级而不是父级获取聚合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8916943/