SSRS中的计算

时间:2011-06-29 09:00:41

标签: asp.net reporting reporting-services formula

我有一份SSRS报告。我有一个有一些行的表。我想根据这些行计算一些东西。请参阅示例表和要计算的事项:

enter image description here

就业期使用if( DayEmployed>730) then add 1 to count.计算,count计算为Employment Periods greater than 2 Years。谁能告诉我如何在SSRS中计算出来?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:4)

总结:

  • 就业期为365天或1年。
  • 你希望就业期数开始增加 他们已经超过2年

假设:

  • 如果员工工作730天,就业期仍为0
  • 如果员工工作731天,则工作期为1
  • 就业期间保持在1,直到员工时间上升1096天,此时就业期间变为2

最简单的方法可能是:

= IIf(DaysEmployed > 730, CEILING(DaysEmployed/365) - 1, 0)

我在Excel中对此进行了快速测试,并在我的语句中删除了任何语法错误*它会做你想要的。


修改

好的,你需要的是条件聚合:

=Sum( IIF(DaysEmployed > 730, 1, 0), "DSEmploymentSummary")

这将对名为DaysEmployed的对象范围内的DSEmploymentSummary字段进行求和(这是绑定到表/ tablix的数据)。

或者,您可以使用隐藏的计算列,其中每行只包含10,具体取决于DaysEmployed超过阈值,然后执行正常{{ 1 +}在该列上。

*我的报告生锈了,我不想提出新的虚拟报告进行测试。

答案 1 :(得分:0)

我为此目的使用了这个公式:

=FormatNumber((iif(Fields!DaysEmployed.Value > 730, Count(Fields!DaysEmployed.Value, "DSEmploymentSummary"), 0))/CountRows("DSEmploymentSummary"),2,0,-1,-1)