请验证此表达式是否已正确写入

时间:2012-08-30 15:06:38

标签: reporting-services

我有以下表达式,应该将月份转换为季度。但是,当我运行报告时,只显示第一和第四季度。有人可以看看我的表情,看看它是否正确?我以前从未创建过SSRS报告或表达。

=IIf(Fields!Month.Value/3 <= 1, 1, IIf(Fields!Month.Value/3 > 1 AND Fields!Month.Value <=2, 2, IIf(Fields!Month.Value > 2 and Fields!Month.Value <= 3, 3, 4)))

3 个答案:

答案 0 :(得分:1)

假设Fields!Month.Value是4.这给出了:

=IIf(4/3 <= 1, 1, IIf(4/3 > 1 AND 4 <=2, 2, IIf(4 > 2 and 4 <= 3, 3, 4)))

显然,4/3 <= 1为false,4/3 > 1 AND 4 <=2为false,4 > 2 and 4 <= 3为false,表示该季度为4.不正确。

试试这个:

int((Fields!Month.Value - 1) / 3) + 1

答案 1 :(得分:1)

您考虑使用=DatePart(DateInterval.Quarter, Fields!Month.Value)吗?

答案 2 :(得分:0)

这有效:

=IIF((Fields!Month.Value/3)<=1,1,
  (IIF((Fields!Month.Value/3)<=2,2,
      (IIF((Fields!Month.Value/3)<=3,3,4)))))