重载解析失败,因为没有可访问的 'IIF' 接受这个数量的参数。 SSRS 2012
Overload resolution failed because no accessible 'IIF' accepts this number of arguments. SSRS 2012
我的报告中有两种类型的日期: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)
但是它给了我这个错误:
那么为什么它不接受这个表达式呢?
有什么方法可以编写更有效的表达式来检查要使用的日期吗?
谢谢
我用一些放置得当的括号来编译它:
=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)
试一试。
我的报告中有两种类型的日期: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)
但是它给了我这个错误:
那么为什么它不接受这个表达式呢? 有什么方法可以编写更有效的表达式来检查要使用的日期吗?
谢谢
我用一些放置得当的括号来编译它:
=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)
试一试。