【问题标题】:SSRS Conditional ExpressionSSRS 条件表达式
【发布时间】:2015-12-18 12:05:55
【问题描述】:

在 SSRS 报告中,我想执行条件颜色格式化,其中最高等级应该是绿色,最低等级应该是红色在区域经理组中,如下所示

注意:几个选项,我正在考虑包括

  1. 我正在使用自定义代码函数,用于导出最小值和最大值,并且不知何故,如果我可以在区域管理器上包含分组过滤器,那么它可以工作,但不知道这是否可能

    李>
  2. 在数据集中,我为每列创建额外的列,并在其中存储 Min\max 值。但不太喜欢这个选项,因为我有 24 个不同的等级,这意味着我需要 24 个不同的列以及当前的 40 个属性

任何帮助将不胜感激

【问题讨论】:

  • 提供您的“自定义代码功能”。另外为什么 ATVRank = 2 是绿色,而 ATVRank = 3 是红色......?你说你需要 Max value 是绿色和 Min value = red...
  • ATVRank = 2 并且是绿色是错误的,只有一组中的最小和最大数字应该被着色。

标签: sql-server reporting-services sql-server-2008-r2 ssrs-2008-r2 conditional-formatting


【解决方案1】:

我知道您不想要为每一列都这样做,但尽管您有疑虑,但这可能是最好的方法。根据我的previous answeryour earlier related question,您可以为每个组的最小值和最大值着色,如下所示。

  1. 创建包含字段storeatvrankbtvrank 的表

  2. 右键单击行标题,然后选择添加组 -> 行组 - 父组,然后选择区域经理。将群组名称设置为RegionalManagerGroup

  3. 然后将单元格的背景颜色设置为

    =iif(Fields!atvRank.Value = min(Fields!atvRank.Value, "RegionalManagerGroup"),
     "Green",
     iif(Fields!atvRank.Value = max(Fields!atvRank.Value, "RegionalManagerGroup"),
         "Red",
         "White"
         )
     )
    

这会在当前组而不是整个数据集中找到最大值和最小值。您将需要为每个字段单独设置此表达式,但这可能比从数据库返回新行以确定每个字段的最大值和最小值要省力。

这种方法将给出以下输出

请认真考虑此解决方案。如果您还有其他问题,请尽管提问。

【讨论】:

  • 谢谢@jonnus,如果我可以根据你提到的组而不是整个数据集进一步过滤,那么这将是理想的解决方案,我欠你一杯咖啡:)。很高兴明天在工作中尝试您建议的方法,并将让您知道并再次感谢您的所有努力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多