我有一份报告,它抓取了一大堆代表系统警报的统计数据。
我通过拉回用户选择的日期范围内的所有统计数据制作了一个向下钻取样式报告,然后我在警报的codeId上添加了一个组,以便我可以分组。
我想要做的是通过codeId计算这些组中的项目数。我打算使用count作为组成整个组头的连接字符串的一部分。它基本上是“报警代码#{codeId} - {描述} - 总计:{总计}”。
我的问题是要在我的查询中进行计数,然后我必须在数据到达报告之前对其进行预分组。如果我这样做,那么我没有我的详细数据来扩展该组。运行摘要和详细数据集有点过头,但我可能需要考虑一个选项。
所以我希望我可以使用组变量来计算组中包含的项目数。任何人都可以告诉我一系列粗略的步骤试图解决这个问题吗?
答案 0 :(得分: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
这不是特别有效的SQL,所以如果你在数十万行或更多行上运行它,我会采用第一种方法。