当字段与另一个字段匹配时,SSR 显示不同的颜色



当一个字段与另外三个不同的字段匹配时,我需要显示不同的文本颜色。

我在下面写了表达,

=IIF(
Fields!OrderBlockLetter.Value = Fields!InstitutionBlockLetter.Value, "Green",  
or Fields!OrderBlockLetter.Value = Fields!DegreeBlockLetter.Value, "Orange",
or Fields!OrderBlockLetter.Value = Fields!AwardBlockLetter.Value, "Blue", "No Color")

但它不起作用。保存此代码时,它会出错。

我正在使用 SSRS 报表生成器。

你不能像

这样将 IIF 与 OR 一起使用。如果表达式为真,IIF 仅返回一个值,如果表达式为假,则返回另一个值。您可以嵌套 IIF 以获得所需的结果,但使用 SWITCH 要简单得多。试试这个...(未测试,但应该足够接近(

=SWITCH
(
Fields!OrderBlockLetter.Value = Fields!InstitutionBlockLetter.Value, "Green",  
Fields!OrderBlockLetter.Value = Fields!DegreeBlockLetter.Value, "Orange",
Fields!OrderBlockLetter.Value = Fields!AwardBlockLetter.Value, "Blue",
True, "Black"
)

当 switch 返回第一个 true 表达式时,如果所有其他表达式都失败,则最终表达式始终为 True,因此将返回"Black"。

编辑:实际上,"No Color"不是有效的字体。您要么需要选择黑色(默认颜色(,要么选择白色(以提供那里没有文本的外观(

最新更新