0

我有以下矩阵:

  • 设计视图
--------------------------
|  OfficeSID  | [Type]   |
--------------------------
| [OfficeSid] | [Value]  |
--------------------------
  • 预习
----------------------------
| OfficeSID |   A  |   B   |
----------------------------
|    1      | 1029 |  982  |
----------------------------
|    2      |   98 |  782  |
----------------------------
|    3      |  786 |   82  |
----------------------------
|    4      |   29 |    2  |
----------------------------

我想格式化单元格的背景颜色,即第二行第二列,这是一个值字段。它被分组在类型字段下。背景颜色应如下所示:

  • 如果值 < 0 红色
  • 如果值 < 100 且 > 0 橙色
  • 如果值 >= 100 绿色

我尝试使用表达式,但它不起作用。

4

1 回答 1

4

这是一个非常常见的要求......听起来您正在尝试BackgroundColor在单元级别设置属性,这是正确的,所以没有理由它不应该工作。

你用什么表达方式?我会使用类似的东西:

=Switch(Fields!Value.Value < 0, "Red"
  , Fields!Value.Value > 0 and Fields!Value.Value < 100, "Orange"
  , Fields!Value.Value >= 100, "Green")

评论后编辑:

嗯,不知道你的报告是怎么回事。我整理了一个基本示例来匹配您的结果,并且它按预期工作。

将样本数据集放在一起:

在此处输入图像描述

创建矩阵:

在此处输入图像描述

文本框属性的表达式BackgroundColor,从上面的答案中复制并粘贴:

在此处输入图像描述

最终结果,看起来像预期的那样工作:

在此处输入图像描述

所以我不确定在这里建议什么...关于我唯一能想到的是每个 OfficeSID/Type 组合是否有多个值,在这种情况下,您需要在表达式中使用聚合,即喜欢:

=Switch(Sum(Fields!Value.Value) < 0, "Red"
  , Sum(Fields!Value.Value) > 0 and Fields!Value.Value < 100, "Orange"
  , Sum(Fields!Value.Value) >= 100, "Green")

但除此之外,我猜您可以添加您正在使用的数据的确切详细信息,或者以最简单的方式从头开始创建新报告。这将显示您是否可以在没有其他逻辑的情况下让背景在新报告中工作。

于 2013-02-24T15:05:04.427 回答