【问题标题】:Background Color Not Filling in Entire Row Based off Expression in SSRS基于 SSRS 中的表达式,背景颜色未填充整行
【发布时间】:2015-03-04 16:32:05
【问题描述】:

我希望我能在这个问题上得到一些帮助。得到一份显示事件数据的报告;其中我们有两种类型:固定和移动。

为了根据事件的类型填写行,我使用了这个表达式:

=IIF(Fields!OwnerType.Value = "Fixed", "LightSteelBlue", "#FFFFFF")

但结果实际上是这样的:

浅蓝色背景的行是固定站点,通常没有分配奖励/促销活动。如果不是,我仍然希望整行的背景颜色为浅蓝色。

我的问题是激励列(Sam's Club、T-shirts、Wal-Mart 等)是通过列分组动态创建的 - 我不知道哪些值可能会出现在这里或有多少。

我目前配置它的方式是在单元格本身上放置一个表达式:

但这给我留下了发帖的理由,我无法让整行都用这个列分组重新填充。

如果我将表达式 =IIF(Fields!OwnerType.Value = "Fixed", "LightSteelBlue", "#FFFFFF") 应用到列分组的方式与我对行所做的相同,它只会改变激励所在的单个单元格和标题的颜色。

在 Group Columns -> Incentives Properties 下,我可以将可见性更改为还包括背景颜色填充吗?

【问题讨论】:

  • 这意味着您为这三列/单元格设置了不同的背景颜色表达式,并且它覆盖了行上的表达式。
  • 激励列是一个分组,它根据激励的数量创建尽可能多的列。激励字段中的表达式为:=Iif(IsNothing(Fields!Incentive.Value), Nothing, (Fields!Incentive.Value))。但我可以在属性框中看到,背景颜色保持不变。我不明白为什么该行会为移动事件回填灰色,而不是为固定网站回填。
  • 可能是因为这些列在设计时不存在。尝试在列分组中使用相同的背景颜色表达式。

标签: ssrs-2008 visibility ssrs-expression


【解决方案1】:

为该行添加了这个表达式:

=Iif(
Max(
  Iif( Fields!OwnerType.Value = "Fixed", 1, 0 )
  , "Row_Group_Name"
  ) = 0
,"White"
,"LightSteelBlue")

填满了整行。

【讨论】:

  • 有没有办法用 switch 语句来做到这一点?根据字段的字符串值有多种颜色选项?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
相关资源
最近更新 更多