SSRS报告-IIF语句语法问题



在表格中,我们希望在列文本框(背景(中填充"黄色";如果不满足阈值。这是的表达式

=IIF((Fields!TotalMonths.Value Fields!Total ReversalMonths.Value(<(字段!Baseline.Value,"AgentyData"(,";黄色"无颜色"(

[总月数]和[总冲销月数]来自tablix数据集,基线来自不同的数据集";AgencyData";。

获取以下编译器错误

文本框"Textbox15"的BackgroundColor表达式包含错误:[BC30516]重载解析失败,因为没有可访问的"IIf"接受此数量的参数。

把我的头发从这个上面拔出来。救命!

以下是可读性更强的代码格式:

=IIf(
(Fields!TotalMonths.Value-Fields!TotalReversalMonths.Value) 
<   (Fields!Baseline.Value,"AgencyData"),
"Yellow",
"No Color"
)

虽然错误消息肯定表明你有不平衡的括号,但很明显你没有。问题在第三行:

(Fields!Baseline.Value,"AgencyData")

我不认为这是从另一个数据集获得值的方式。它就像一个裸元组,我认为这是不正确的语法,因此产生了令人困惑的错误消息。

如果只有一行,您可以使用:

First(Fields!Baseline.Value,"AgencyData")

如果需要根据当前上下文中的值选择该数据集中的特定行,则应查看Lookup、LookupSet或MultiLookup函数。

最新更新