我的报告中有两种类型的日期:DateFrom, DateTo
和EffDateFrom, EffDateTo
用户可以选择要使用的日期。
在此图表中,我希望Bar Line
和Labels
仅显示在用户选择的日期内。
因此,如果用户选择使用DateFrom =' 3/1 2017'和DateTo =' 4/1 2017'那么线和标签应该只显示一个月。
但如果用户选择使用EffDateFrom =' 3/1 2017'和EffDateTo =' 4/1 2017'那么线和标签只能在有效日期显示一个月。
所以在LabelDate中我写了这个表达式:
=IIF(Fields!MonthNumber.Value>= MONTH(Parameters!DateFrom.Value) AND Fields!MonthNumber.Value<= MONTH(Parameters!DateTo.Value)
OR
Fields!MonthNumber.Value>= MONTH(Parameters!EffDateFrom.Value) AND Fields!MonthNumber.Value<= MONTH(Parameters!EffDateTo.Value)
,(RunningValue(Fields!Premium.Value, sum,Nothing)/RunningValue(Fields!Total_Forcast.Value, sum, Nothing))
, Nothing)
但它给了我这个错误:
那为什么它不接受这个表达呢? 是否有任何方法可以编写更有效的表达式来检查要使用的日期?
谢谢
答案 0 :(得分:1)
我用一些放置好的括号编译了这个:
=IIF((Fields!MonthNumber.Value>= MONTH(Parameters!DateFrom.Value) And
Fields!MonthNumber.Value<= MONTH(Parameters!DateTo.Value))
Or
(Fields!MonthNumber.Value>= MONTH(Parameters!EffDateFrom.Value) And
Fields!MonthNumber.Value<= MONTH(Parameters!EffDateTo.Value)),
(RunningValue(Fields!value.Value, Sum, Nothing)/RunningValue(Fields!value.Value, Sum, Nothing))
, Nothing)
试一试。