SSRS在交换机内调用Monthname

时间:2016-12-09 18:10:36

标签: reporting-services

我的报告可以按月,按季度或按年分组。根据我的数据,我有两列,ActivationYear和ActivationMonthOrQuarter。当我运行报告时,我得到ActivationMonthOrQuarter,所以我的值可以是1-12(如果是每月1-12,每季度1-4)。如果分组选项是每年,则ActivationMonthOrQuarter字段将为null。

我遇到的问题是它似乎仍然尝试调用MONTHNAME函数,即使我使用GroupingOption =" Annual"并抛出一个错误,因为它无法在NULL值上调用它。

=SWITCH(
    Parameters!GroupingOption.Value = "Annual", "",
    Parameters!GroupingOption.Value = "Quarterly", "Q" & Fields!ActivationMonthOrQuarter.Value,
    Parameters!GroupingOption.Value = "Monthly", MONTHNAME(Fields!ActivationMonthOrQuarter.Value)
    )

1 个答案:

答案 0 :(得分:1)

尝试:

=SWITCH(
    Parameters!GroupingOption.Value = "Annual", "",
    Parameters!GroupingOption.Value = "Quarterly", "Q" & Fields!ActivationMonthOrQuarter.Value,
    Parameters!GroupingOption.Value = "Monthly", MONTHNAME(IIF(IsNothing(Fields!ActivationMonthOrQuarter.Value),1,Fields!ActivationMonthOrQuarter.Value))
    )

如果有帮助,请告诉我。