SSRS 2008 R2 CountRows(GroupName)不起作用

时间:2014-03-31 19:18:40

标签: ssrs-2008

我为SQL Server 2008 R2 Reporting Service创建了一个报告,在设计模式下,此报告如下所示:

enter image description here

你可以看到我在最后一行的第二行的左边单元格中有一个表达式,表达式是:

=CountRows("GroupbyClassification")

当我预览此报告时,它会给我这个错误:

The value expression for the textbox ‘textbox7’ has a scope parameter that is not valid
for an aggregate function. The scope parameter must be set to a string constant that is
equal to either the name of a containing group, the name of a containing data region, or 
the name of a data set

此错误是由CountRows(“GroupbyClassification”)引起的,来自

http://technet.microsoft.com/en-us/library/dd255215(v=sql.105).aspx你可以看到CountRows可以在一个小组上工作。但为什么它不适合我。如果我只使用CountRows(),它至少可以正常工作。

1 个答案:

答案 0 :(得分:1)

这是因为GroupbyClassification不是当前或包含的范围。这是儿童范围。如果您使用=CountRows("GroupbyLocation"),则会为您提供与=CountRows()相同的结果,因为GroupbyLocation是当前范围。由于每个GroupbyClassification组有多个GroupbyLocation行计数值,因此当您指定GroupbyClassification范围时,报告无法知道要返回哪一个。

子范围只能用于嵌套聚合。因此,您可以使用=sum(CountRows("GroupbyClassification")),但这会为您提供与=CountRows("GroupbyLocation")=CountRows()相同的计数。