SSRS-如何计算由表达式生成的列中的值?

时间:2019-04-04 21:49:41

标签: reporting-services ssrs-tablix

在我的SSRS报告中,我有一列名为permit_status。此列具有由表达式生成的值(即,它来自自定义代码)。 allow_status值是逐行计算的。

要求是显示allow_status列中显示的不同值的总和,并将其导出到Excel。这些值是“已批准”,“待定”等。我只需要一个单元格即可显示每个值的总计。

我能够为使用Sum(...)的报表创建页脚,例如:

=Sum(IIF(ReportItems!permit_status.Value = "Approved", 1, 0))

但是,这仅显示该报告页面的“已批准”值的总和,而不是整个报告。 (而且我丢失了一些内容,因为它无法导出到Excel。)

将ReportItems!column_name.Value汇总为总计的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

在您的矩阵中添加基于allow_status的列组(以便每一列包含一个可用的唯一值)。右键单击行上最左边的字段,然后选择添加总计,然后将此字段表达式修改为count(Fields!permit_status.Value)

答案 1 :(得分:0)

据我所知,您想计算“已批准”,“待处理”等值的数量。有不同的方法可以达到此目的。无需更改tablix结构的最简单方法是表达:

每个单元格之一:

="Approved: " & Sum(IIF(ReportItems!permit_status.Value = "Approved", 1, 0)) & " / " &
 "Pending: "  & Sum(IIF(ReportItems!permit_status.Value = "Pending", 1, 0))
 'And so on...

或更多单元格:

'Cell 1
="Approved: " & Sum(IIF(ReportItems!permit_status.Value = "Approved", 1, 0))
'Cell 2
="Pending: "  & Sum(IIF(ReportItems!permit_status.Value = "Pending", 1, 0))

答案 2 :(得分:0)

如何添加两个额外的列“已分配”和“待处理” 然后分别为这些列设置Row规则,如下所示。

IIF(ReportItems!permit_status.Value = "Approved", 1, 0)
IIF(ReportItems!permit_status.Value = "Pending", 1, 0)

然后在数据集末尾按here所述添加Total。它会给您想要的结果