我试图在SSRS 2008
表达中写IIF语句,但一次只能运行一个部分......另一部分给出错误......这就是写作......
=IIF(Parameters!Month.Value = 1, " "& CStr(MonthName(Parameters!Month.Value +11)) &" " , "ABC")
当我运行这个并且Month参数的值= 1然后它运行正常但是当value <> 1
然后它给出#Error
...错误部分没有执行...我想有些事情双引号错了......
即使我改变了真假集的位置......结果也一样......如果我只是写得像......
=IIF(Parameters!Month.Value = 1, "CDE" , "ABC")
然后一切运行正常......
请帮忙......
答案 0 :(得分:0)
看起来像元数据的假设不匹配。即使你在呼唤CStr(),它也可能就在那方面。尝试在CStr()中包装false语句以及删除“”&amp;和&amp; “”看看会发生什么。那是我开始的地方。
答案 1 :(得分:0)
报价没有问题。
月份仅在1到12之间。根据您的等式参数!Month.Value 只能来自 -10到1 。
如果提供大于1或小于-10的任何值或任何十进制值,则表达式将出错。您需要检查Parameters!Month.Value
中传递的所有值或更改表达式。
答案 2 :(得分:0)
解决了它.....
= IIF(参数!Month.Value = 1,
MonthName((((参数!Month.Value-1)+11)Mod 12)+ 1)+&#34; - &#34; + CStr(参数!Year.Value - 1),
MonthName((((参数!Month.Value-1)+11)Mod 12)+ 1)+&#34; - &#34; +参数!Year.Value)