Reporting services 在SSRS报表生成器中获取行数
我使用ReportBuilder3.0(使用SQLServer2008R2)构建了一个报告。现在我想知道有多少条记录正在从数据库中提取到报告中 这可以通过SSRS中的count函数实现,也可以通过SQL查询中的RANK/ROW_NUMBER函数实现,并将该as字段分配给报告(RANK/ROW_NUMBER将为每一行提供排名,导航到报告中的最后一页将帮助我获得总行数) 我尝试了count函数,但它依赖于报告中的某个字段。例如=Reporting services 在SSRS报表生成器中获取行数,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我使用ReportBuilder3.0(使用SQLServer2008R2)构建了一个报告。现在我想知道有多少条记录正在从数据库中提取到报告中 这可以通过SSRS中的count函数实现,也可以通过SQL查询中的RANK/ROW_NUMBER函数实现,并将该as字段分配给报告(RANK/ROW_NUMBER将为每一行提供排名,导航到报告中的最后一页将帮助我获得总行数) 我尝试了count函数,但它依赖于报告中的某个字段。例如=Count(Field!FieldName.value,“DataSet
Count(Field!FieldName.value,“DataSetName”)
这种方法中的问题:“FieldName”在报告中不是唯一的,因此计数会重复
第二个选项:添加了排名/行数,但它们也使用相同类型的字段名,因此这里的计数也会重复
主要问题:我的查询中没有唯一的字段(因此我尝试了ROW_NUMBER())
如何在SSRS 2008中找到总行数或排名(每行)?使用。比如说
=CountRows("MyDataset")
将为您提供MyDataSet中的行数。在Tablix控件的属性中,有一个名为NoRowsMessage的属性名。在没有返回行时将消息放在此处。我找到了一个解决方法。首先创建一个值始终设置为1的数据列。这将为每行数据提供一个值 查询列
, 1 AS Unit
在报告中使用“RunningValue”函数,如下所示
=RunningValue(Fields!Unit.Value,Sum,"DataSet")
如果您正在寻找,这也将作为“运行总和”使用。正如上面提到的其他人一样,我无法让
CountRows(“DatasetName”)
在标题中工作,直到我将其包装为:CSTR(CountRows(“DatasetName”)
获取行数很简单。只要在SQL查询中使用行号,就可以实现目标。此外,如果您使用FetchXML(即用于动态),您将无法执行SQL函数。@Brian-感谢您为我标记代码,代码更清晰。我必须记住这一点!