Sql SSR显示子级别组到父级别组的聚合值

Sql SSR显示子级别组到父级别组的聚合值,sql,tsql,reporting-services,reporting,Sql,Tsql,Reporting Services,Reporting,我试图得到所有状态的总和,即一个名为“Status1”的子组到名为Assignee的父组 我创建了一个名为Val的报告变量,并在下面的自定义代码中使用 function addData(val as Double, val1 as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable ) val1.value = va

我试图得到所有状态的总和,即一个名为“Status1”的子组到名为Assignee的父组

我创建了一个名为Val的报告变量,并在下面的自定义代码中使用

function addData(val as Double, 
                 val1 as Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.Variable
                )
   val1.value = val1.value + val
   return val
end function
计算按预期进行。图片最后一列的所有状态之和在最后一行的正确值为135

我希望总和135显示在Assignee level组中。我像这样调用了Report变量=Variables!val1。但是,该文本字段上的值为0.0,而不是135

当我们试图在受让人级别的组父组访问全局报表变量时,它似乎又被刷新了


有人能帮我弄到135级吗?我将感谢你的帮助。我一直在努力理解这些子级组与父级组关系的范围。

您要查找的是状态和事件编号的组合。通过将这两种方法组合在一起,可以获得该级别的不同计数,如下所示:

=CountDistinct(Fields!Status.Value + CStr(Fields!Incident_number.Value‌​))

您是否尝试过只返回val1.value+val而不设置变量值?感谢StevenWhite的快速响应。如果您单击请求顶部的Calculate链接,您将看到我的问题的视觉效果。如果您查看最后第二列,它有124,计算为=Code.addData(sum(CountDistinct(Fields!Incident_number.Value))/CountDistinct(Fields!Priority.Value),Variables!val1)您尝试过=sum(CountDistinct(Fields!Incident_number.Value)吗‌​))/CountDistinct(Fie)‌​lds!优先级.Value)+​Variables!val1.Value感谢StevenWhite的快速响应。如果您单击请求顶部的Calculate链接,您将看到我的问题的视觉效果。如果您查看最后第二列,它有124、9、1、1,计算为=code.addData(sum(CountDistinct(Fields!Incident_number.Value))/CountDistinct(字段!Priority.Value),变量!val1)我想保存这些值的总和。然后在报表中的任何位置使用它。最后一列的值为124、133、134、135,我称之为=Variables!val1.Value,它显示得非常好,因为计算是正确的。但是在顶层0.0感谢Steve,这将是311+53+8+9+1+1=383/3=127.67,这不是我想要的。我想要124+9+1+1=135返回383而不是135当前框中124值的表达式是什么?=Code.addData(sum(CountDistinct(Fields!Incident_number.value))/CountDistinct(Fields!Priority.value),Variables!val1)请查看报告结构的Calculate链接。非常感谢您查看它Steven好的,对不起,这太复杂了,无法在报告中执行。我建议编写一个子查询以获得该级别的额外计算。感谢Steve,因为您建议使用子查询来解决此问题。至少现在我知道有当涉及范围界定和分层分组时,报告中存在一些限制