基于SSRS 2012中的行和列标题值为单元格着色

问题描述 投票:0回答:1

我想根据标题和行值而不是单元格值为单元格着色。在下面的示例中,当[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

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

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

DonD的其他内容:实际报告还有其他几个字段/组,因此您对该区域的评论是合适的。我试图将报告简化为基本数据,但仍然没有得到与您相同的输出。 reduced report info

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

design layout example

sample desired output

Actual data query and subset of data

reporting-services format conditional
1个回答
0
投票

看起来你只需要添加另一个条件语句来考虑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

我已经在produced_month上列了一个列组,在ship_prom上有一个行组,并按照以下布局按ship_prom分组。

design view

使用我的答案中的确切切换表达式,我能够实现以下结果。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.