0

我有一份报告,其中包含代表系统警报的一大堆统计数据。

我通过拉回用户选择的日期范围内的所有统计信息制作了一个向下钻取样式的报告,然后我在我的警报的 codeId 上添加了一个组,这样我就有了一些可以分组的东西。

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

我的问题是要在我的查询中进行计数,然后我必须在数据到达报告之前对其进行预分组。如果我这样做,那么我就没有我的详细数据来扩展组。运行摘要和详细数据集有点让我头疼,但我可能不得不考虑一个选项。

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

4

1 回答 1

2

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

由于您已经在 SSRS 中有一个组,您可以使用 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

This is not particularly efficient SQL, so if you are running this on hundreds of thousands of rows or more, I'd go with the first approach.

于 2012-02-15T22:32:21.930 回答