【问题标题】:SSRS Display Aggregate Value of Child level group to Parent level groupSSRS 将子级组的聚合值显示到父级组
【发布时间】:2017-08-12 06:15:35
【问题描述】:

Calculation

我正在尝试获取所有状态的总和,这是一个名为“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 显示在受让人级别组中。我在该文本字段上调用了这样的报告变量 =Variables!val1.Value,但是,该值是 0.0 而不是 135。

当我们尝试在受理人级别组父组访问它时,似乎全局报告变量再次被刷新。

有人可以帮助我了解如何在受让人级别获得 135 吗?我会很感激你的帮助。我一直在努力理解这些子级组与父级组关系的范围。

【问题讨论】:

  • 您是否尝试过只使用return val1.value + val 而不是设置变量值?
  • 感谢 StevenWhite 如此迅速的回复。如果您单击请求顶部的计算链接,您将看到我的问题的视觉效果。如果您查看倒数第二列,它有 124 ,计算为 =Code.addData(sum(CountDistinct(Fields!Incident_number.Value))/Countdistinct(Fields!Priority.Value),Variables!val1)
  • 你试过=sum(CountDistinct(Fields!Incident_number.Value‌​))/CountDistinct(Fie‌​lds!Priority.Value) + ​Variables!val1.Value
  • 感谢 StevenWhite 如此迅速的回复。如果您单击请求顶部的计算链接,您将看到我的问题的视觉效果。如果您查看倒数第二列,它有 124、9、1、1,计算为 =Code.addData(sum(CountDistinct(Fields!Incident_number.Value))/Countdistinct(Fields!Priority.Value),Variables !val1) 我想保留这些值的总和。然后在报告中的任何地方使用它。最后一列的值为 124、133、134、135 我将其称为 =Variables!val1.Value,它显示得非常好,因为计算是正确的。但顶层为 0.0
  • 感谢史蒂夫,这将是 311+53+8+9+1+1 = 383/3 = 127.67,这不是我想要的。我要 124 + 9 + 1 +1 = 135

标签: sql tsql reporting-services reporting


【解决方案1】:

您要查找的是状态和事件编号的组合。您可以通过像这样组合两者来获得该级别的不同计数:

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

【讨论】:

  • 返回 383 而不是 135
  • 124值的框中当前的表达式是什么?
  • =Code.addData(sum(CountDistinct(Fields!Incident_number.Value))/Countdistinct(Fields!Priority.Value),Variables!val1) 请查看报告结构的计算链接.非常感谢你看史蒂夫
  • 好的,抱歉,这在报告中太复杂了。我建议编写一个子查询来获得该级别的额外计算。
  • 感谢史蒂夫,因为您建议使用子查询来解决此问题。至少现在我知道在报告范围和分层分组时存在一些限制
猜你喜欢
  • 2020-05-05
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多