根据 SSRS 2012 中的行和列 header 值为单元格着色

Coloring a cell based on row and column header values in SSRS 2012

我想根据 header 和行值而不是单元格值为单元格着色。在下面的示例中,当 [ship_prom] = [produced_month] 时,[sum(wgt_scaled)] 单元格应变为绿色(在示例中用 X 标记)。

         [produced_month]   
[ship_prom]     [Sum(wgt_scaled)]   
          201812    201901  201902

201901      2.1       X       3

201902      1.5               X

抱歉,如果格式化不起作用 - 尝试粘贴图像但也失败了..

我尝试使用 =iif(Fields!ship_prom.Value=Fields!produced_month.Value,"Green","No Color")[Sum(wgt_scaled)] 进行条件格式化 但并非所有单元格都有值,每个空值单元格都变成绿色。

来自 DonD 的补充: 实际的报告有几个额外的字段/组,所以你在那个区域对它的评论是合适的。我试图将报告简化为仅包含基本数据,但仍然没有得到与您相同的输出。 reduced report info

@steve-o169 由于您可以使用 Switch 生成报告,我将继续并将您的答案标记为最佳答案。感谢您的帮助!

design layout example

采样所需的输出

Actual data query and subset of data

看来您只需要添加另一个条件语句来说明 NULL 值。但就个人而言,我建议实施一个开关以更好地控制。试试下面的表达式。

=Switch(Fields!ship_prom.Value=Fields!produced_month.Value AND TRIM(Fields!ship_prom.Value) <> "","Green", 
true, "No Color")

编辑:在我真正找出手头的问题之前,可能需要查看查询。我无法重现您的问题。我使用以下查询创建了一个简单的数据集。

CREATE TABLE #temp(ship_prom INT, produced_month INT, wgt_scaled DECIMAL(2,1))
INSERT INTO #temp (ship_prom, produced_month, wgt_scaled)
VALUES (201901, 201812, 2.1), (201902, 201812, 1.5), (201901, 201901, NULL), 
(201902, 201901, NULL), (201901, 201902, 3.0), (201902, 201902, NULL)

SELECT * FROM #temp

我已经在 table 上布置了 produced_month 的列组和 ship_prom 的行组,并按 ship_prom 分组,布局如下。

使用我的答案中的确切 switch 表达式,我能够获得以下结果。