有条件地格式化 tablix 的某些单元格

Conditionally format certain cells of tablix

使用 Visual Studio 2017 (SSDT),我有一个 tablix,我想在其中使用表达式设置背景 color/fill。我希望单元格在以下位置填充灰色:

  1. 2019 金属为白银,2020 金属为青铜,或
  2. 2019 金属为黄金,2020 金属为青铜,或
  3. 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(ReportItems!Metal_2019.Value) = "Silver" AND cstr(ReportItems!Metal_2020.Value) =     "Bronze") OR
(cstr(ReportItems!Metal_2019.Value) = "Gold"   AND (cstr(ReportItems!Metal_2020.Value) = "Silver" OR cstr(ReportItems!Metal_2020.Value) = "Bronze")),
"Gray","Transparent")

found at