【问题标题】:Sorting Column in SSRS by Background Color按背景颜色对 SSRS 中的列进行排序
【发布时间】:2014-08-28 14:06:39
【问题描述】:

是否可以按背景颜色对 SSRS 中的列进行排序?例如,如果我有一个表达式将使单元格变为红色或绿色,有没有办法在列出具有绿色作为背景单元格的单元格之前对所有具有红色背景单元格颜色的列进行排序?

谢谢。

【问题讨论】:

  • 如果我想要交替的背景单元格颜色,我会这么说。实际上,通过快速搜索,谷歌会有 50 次点击,所以我什至不会在这里问这个问题......所以你想说什么。
  • 就排序而言,这实际上与装饰无关。您可以更改数据的类型,而无需应用任何颜色。您要应用颜色的规则与您要设置的规则相同 ORDER BY
  • 完全有道理。我有基于表达式的绿色或红色背景单元格颜色。我希望报告顶部的所有红色单元格位于绿​​色单元格之前。
  • 您可能想要对当前看到的内容进行屏幕抓取。在绘图中打开它,然后绘制一堆箭头,说明您期望数据的显示方式。
  • 谢谢林恩崩溃。至少你明白我在问什么。它独立于装饰是有道理的。我只是想验证一下。谢谢。

标签: sql sql-server visual-studio-2010 reporting-services sql-server-2012-datatools


【解决方案1】:

不,我认为你不能这样做。我唯一能想到的就是在排序表达式中引用ReportItems,但这会导致范围界定问题(在 VStudio 中会出现构建错误),因为排序是在 tablix 上完成的,而单元格的背景是完成一个级别更低。

但是,您的背景颜色表达式很可能是静态的(不引用数据),或者取决于数据。您也可以使用完全相同的表达式进行排序。所以说你有这个背景:

=Iif(Fields!Nr.Value > 10, "#FF0000", "#00FF00")

您同样可以通过以下方式对 tablix 进行排序:

=Iif(Fields!Nr.Value > 10, 1, 0)

或者当然已经在 SQL 中排序:

ORDER BY Nr

【讨论】:

  • 感谢您的回答。我不知道你可以用 1 和 0 替换颜色进行排序!
  • +1 不错的答案。我宁愿看到这样的东西被接受:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 2016-11-13
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多