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

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

要更改 SSRS 柱状图的最小和最大柱颜色,请在表达式窗口中写入以下 IIF 条件。例如,如果销售额等于最大销售额,则分配海绿色;否则,分配橙色。
=IIf(Fields!Sales.Value = Max(Fields!Sales.Value, "CountryDSet"), "SeaGreen", "Orange")

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

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