更改 SSRS 柱状图的最小值和最大值颜色

本文介绍如何使用 IIF 条件或表达式(附带示例)更改 SSRS 柱状图的最小 (Minimum) 和最大 (Maximum) 垂直柱颜色。为了演示此示例,请右键单击 Datasets 文件夹以创建新的 DataSet。在 SSMS 中编写以下代码将显示我们在此示例中使用的数据集。

我们用于此 SSRS 示例的 SQL 查询是

SELECT Geo.EnglishCountryRegionName AS Country,  
       SUM(Fact.SalesAmount) AS Sales
FROM FactInternetSales AS Fact  INNER JOIN DimCustomer 
ON DimCustomer.CustomerKey = Fact.CustomerKey
JOIN DimGeography AS Geo ON DimCustomer.GeographyKey = Geo.GeographyKey
GROUP BY Geo.EnglishCountryRegionName

更改 SSRS 柱状图的最小和最大柱颜色

要添加柱状图,请右键单击报表区域,选择“插入”,然后从上下文菜单中选择“图表”选项。或者,将图表从工具箱拖放到报表区域。

从窗口中选择 SSRS 柱状图,然后单击“确定”将其添加到报表区域。接下来,将 Sales 字段添加到 Values,将 Country 字段添加到 Category Groups 部分。让我们看一下报表预览。

Simple Chart

选择或单击柱状图的垂直柱,使用“颜色”属性旁边的向下箭头,然后单击“表达式”超链接。

Click the Expression Hyperlink

要更改 SSRS 柱状图的最小和最大柱颜色,请在表达式窗口中写入以下 IIF 条件。例如,如果销售额等于最大销售额,则分配海绿色;否则,分配橙色。

=IIf(Fields!Sales.Value = Max(Fields!Sales.Value, "CountryDSet"), 
"SeaGreen", "Orange")
Expression to Change SSRS Column Chart Min and Max Bar Colors

现在,所有国家/地区都填充为橙色,而美国填充为海绿色。

SSRS Change Column Chart Min and Max Colors Preview

这次我们使用了嵌套的 IIF 条件 来检查销售额是否等于数据集的最大值或最小值。如果最大,则分配绿色;如果最小,则分配蓝色;其余柱分配橙色。为此,请单击第二个图像中显示的颜色表达式,并将代码替换为以下表达式,以更改柱状图的最小、最大和平均柱颜色。

=IIf(Fields!Sales.Value = Max(Fields!Sales.Value, "CountryDSet"), "Green", 
IIf(Fields!Sales.Value = Min(Fields!Sales.Value, "CountryDSet"), 
"Blue", "Orange"))

预览报表。

Change SSRS Column Chart Min and Max Bar Colors Preview