【发布时间】:2017-11-16 13:06:14
【问题描述】:
我正在报表生成器 3 中进行一些背景颜色格式设置,但我在使用这个表达式时遇到了困难。运行报告是否太复杂,还是我遗漏了什么?
伪代码 - 如果 Marks 为 Null (True),背景颜色为白色,否则如果 Coursecode 为 L1 英语(数字),则格式化成绩(开关 1),否则格式化成绩(开关 2)。
=IIF(IsNothing(Fields!Marks.Value),
"White",
IIF(Fields!CourseCode.Value = '50089109',
SWITCH(
Fields!Marks.Value > 57, "YellowGreen",
Fields!Marks.Value >= 48 AND Fields!Marks.Value <= 57 , "Orange",
Fields!Marks.Value < 48, "Firebrick"
)
,
SWITCH(
Fields!Marks.Value > 61, "YellowGreen",
Fields!Marks.Value >= 52 AND Fields!Marks.Value <= 61 , "Orange",
Fields!Marks.Value < 52, "Firebrick"
)
)
)
这是我解决相同问题的另一种方法 - 首先评估课程代码是否为真,然后基于此应用格式:
=IIF(Fields!CourseCode.Value = '50089109',
IIF(IsNothing(Fields!Marks.Value), "White",
SWITCH(
Fields!Marks.Value > 57, "YellowGreen",
Fields!Marks.Value >= 48 AND Fields!Marks.Value <= 57 , "Orange",
Fields!Marks.Value < 48, "Firebrick"
)
),
IIF(IsNothing(Fields!Marks.Value), "White",
SWITCH(
Fields!Marks.Value > 61, "YellowGreen",
Fields!Marks.Value >= 52 AND Fields!Marks.Value <= 61 , "Orange",
Fields!Marks.Value < 52, "Firebrick"
)
)
)
【问题讨论】:
-
您是否遇到错误或者您是否获得了不正确的背景颜色?顺便说一句:如果没有设置背景颜色,请使用
Nothing而不是“白色”,这是默认设置。 -
获取
Error BC30201 Expression Expected- BG 颜色的好提示 - 谢谢! -
您在 '50089109' 周围使用单引号,这是不允许的。如果您使用双引号,那应该可以。 SSRS 表达式中的单引号表示注释。
-
你说的很对——很好看!
标签: reporting-services ssrs-2012 reportbuilder3.0