所以我试图解决我有两个字段即"成功"one_answers"失败"的情况。当两个字段(成功和失败)都为零时,我想将"成功"字段的值显示为100,但如果"失败"字段的值不是零,但"成功"字段的值仍然为0,我希望成功字段显示"0",而"失败"应该显示适当的值。
为此,我用嵌套的iif循环编写了下面的表达式,我是SSRS报告的新手。因此,任何帮助/建议将非常感谢。谢谢。
SSRS表达式:
=iif(Fields!CountAlwaysOnSuccess.Value=0,100,iif(Fields!CountAlwaysOnFail.Value!=0,Fields!Always_On_SLO_Success.Value)) & "%," & Fields!CountAlwaysOnSuccess.Value
这是我上面的表达式得到的错误:
文本的Value表达式"Textbox2.Paragraphs[0]。TextRuns[0]的包含一个错误:[BC30516]重载解析失败,因为没有可访问的'IIf'接受它参数个数。
IIF
函数有三个参数:
IIF(Condition, ValueWhenTrue, ValueWhenFalse)
你说你想显示:
100%
当Success
和Fail
均为零时Success
为零且Fail
非零时0%, <FailValue>
但是,当Fail
非零时,公式显示Always_On_SLO_Success
字段。看起来我们可以在Success
或Fail
非零时显示这两个字段,所以我认为您不需要第二个条件。您可能还需要将数字字段强制转换为字符串。试试这样做:
=IIF(Fields!CountAlwaysOnSuccess.Value + Fields!CountAlwaysOnFail.Value = 0,
"100%",
CStr(Fields!Always_On_SLO_Success.Value) & "%," & CStr(Fields!CountAlwaysOnFail.Value) & "%")