【发布时间】:2019-11-13 14:04:56
【问题描述】:
使用 Visual Studio 2017 (SSDT),我有一个 tablix,我想在其中使用表达式来设置背景颜色/填充。我希望单元格在以下位置填充灰色:
- 2019 金属是银,2020 金属是青铜,或者
- 2019 金属是金,2020 金属是青铜,或者
- 2019 金属是金,2020 金属是银。
视觉上,像这样:
填充 tablix 的数据集是:
(我添加了自定义“Is Null”代码来改为显示零。)
我一直在尝试 IIF 语句逻辑,但无法获得我想要的结果。
tablix 的设计是:
我正在尝试使用表达式在此处的文本框上设置填充背景颜色:
...使用类似的东西:
=IIF(
Fields!METAL_YEAR_2020.Value="Bronze" AND
(Fields!METAL_YEAR_2019.Value = "Silver" OR Fields!METAL_YEAR_2019.Value = "Gold")
, "Gray"
, "Transparent"
)
如果我省略 OR 条件,我可以填充一个预期的单元格,但我不知道如何计算这三个单元格。
那么,下面这段代码设置了一个单元格,但我可以嵌套或SWITCH 来设置我想要的三个单元格吗?
= IIF(
(
(Fields!METAL_YEAR_2019.Value = "Silver" and Fields!METAL_YEAR_2020.Value = "Bronze")
OR (Fields!METAL_YEAR_2019.Value = "Gold" and Fields!METAL_YEAR_2020.Value = "Bronze")
OR (Fields!METAL_YEAR_2019.Value = "Gold" and Fields!METAL_YEAR_2020.Value = "Silver")
)
, "Gray", "White")
【问题讨论】:
-
请发布您的代码,以便我们更好地了解问题所在。
-
这行得通吗? = iif( (cstr(METAL_YEAR_2019.Value) = "Silver" and cstr(METAL_YEAR_2020.Value) = "Bronze") OR (cstr(METAL_YEAR_2019.Value) = "Gold" and cstr(METAL_YEAR_2020.Value) = "Bronze") OR (cstr(METAL_YEAR_2019.Value) = "Gold" and cstr(METAL_YEAR_2020.Value) = "Silver"), "Grey","White")
-
@Bacon 你为什么使用
==?据我所知,SSRS 使用=,这个表达式会导致错误。 -
我不习惯vbscript,通常我会在它显示错误后纠正
-
编辑了我的问题,希望增加更多的清晰度。 @Bacon,我正在寻找类似的东西;但是,不,它没有用。没有错误但没有应用格式;所有单元格都是白色/没有填充。
标签: reporting-services ssrs-tablix