我有以下表达式应该将月份转换为季度。但是,当我运行报告时,只显示第一季度和第四季度。有人可以看看我的表达,看看它是否正确?我以前从未创建过 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)))
我有以下表达式应该将月份转换为季度。但是,当我运行报告时,只显示第一季度和第四季度。有人可以看看我的表达,看看它是否正确?我以前从未创建过 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)))
假设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
是假的,4/3 > 1 AND 4 <=2
是假的,4 > 2 and 4 <= 3
是假的,意思是四分之一是4。不正确。
试试这个:
int((Fields!Month.Value - 1) / 3) + 1
你考虑过使用=DatePart(DateInterval.Quarter, Fields!Month.Value)
吗?
这有效:
=IIF((Fields!Month.Value/3)<=1,1,
(IIF((Fields!Month.Value/3)<=2,2,
(IIF((Fields!Month.Value/3)<=3,3,4)))))