重载决议失败,因为没有可访问的IIF'接受这个数量的论点。 SSRS 2012

时间:2017-05-16 21:38:55

标签: sql-server visual-studio-2010 reporting-services ssrs-2012

我的报告中有两种类型的日期:DateFrom, DateToEffDateFrom, EffDateTo 用户可以选择要使用的日期。

enter image description here 这是图表:

enter image description here

在此图表中,我希望Bar LineLabels仅显示在用户选择的日期内。 因此,如果用户选择使用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)

但它给了我这个错误:

enter image description here

那为什么它不接受这个表达呢? 是否有任何方法可以编写更有效的表达式来检查要使用的日期?

谢谢

1 个答案:

答案 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)

试一试。