我有一个报告,该报告抓住了一堆代表系统警报的统计数据。

我通过撤回用户选择的日期范围内的所有统计数据,然后在警报的CodeID上添加了一个组,以便我可以进行分组。

我想做的是通过CodeID计算这些组中的项目数量。我计划将计数用作构成整个组标头的串联字符串的一部分。它基本上说“警报代码#{CodeId} - {Description} - Total:{Total}”。

我的问题是要在我的查询中进行计数,然后我必须在数据列出报告之前将其预先分组。如果我这样做,那么我没有我的详细数据来扩展组。并且运行摘要和一个详细数据集有点超过我的头部,但是我可能必须研究的一个选择。

因此,我希望我可以使用组变量来计算组中包含的项目数。谁能告诉我一组粗略的步骤来尝试实现这一目标?

有帮助吗?

解决方案

似乎在这里使用组变量会使它比需要的更复杂。

由于您已经在SSR中有一个小组,因此可以使用Countrows功能。例如,将此表达式放入占位符:

="Alarm Code #" & Fields!CodeID.Value
 & " - " & First(Fields!Description)
 & " - Total: " & CountRows()

或者,根据尺寸,您可以在SQL查询中添加相关子查询:

SELECT
  CodeID,
  MyField,
  MyOtherField,
  (SELECT COUNT(*) FROM myTable t1 WHERE t1.CodeID = t2.CodeID) AS MyRowCount
FROM
  myTable t2

这不是特别有效的SQL,因此,如果您要在数十万行或更多行上运行它,我将采用第一种方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top