本文介绍如何在表达式中使用 SSRS Switch case 或语句来更改背景颜色或创建带有自定义消息的新列。右键单击 Datasets 文件夹以创建新的 DataSet。下面的代码显示了我们用于此 Switch Statement 示例的数据集。
SELECT Prod.EnglishProductName AS ProductName, Prod.Color,
SUM(Fact.OrderQuantity) AS Orders, SUM(Fact.TotalProductCost) AS ProductCost,
SUM(Fact.SalesAmount) AS Sales, SUM(Fact.TaxAmt) AS Tax
FROM FactInternetSales AS Fact
INNER JOIN DimProduct AS Prod ON Fact.ProductKey = Prod.ProductKey
GROUP BY Prod.EnglishProductName, Prod.Color
SSRS Switch 语句示例
我们设计了一个简单的产品销售表报告,并设置了字体和颜色。在本例中,我们将根据 Switch case 或表达式更改订单列的背景颜色。因此,选择订单列并转到属性。接下来,单击表达式超链接以根据开关条件更改背景颜色。

下面的 SSRS Switch 语句将根据订单值对订单列分配五种颜色。
- 如果订单少于 50,则为粉红色。
- 订单小于或等于 100,则为棕褐色。
- 订单小于或等于 200,则为金色。
- 订单小于或等于 1000,则为淡青色。
- 订单大于 1000,则为浅绿色。
=Switch(Fields!Orders.Value < 50, "Pink", Fields!Orders.Value <= 100, "Tan", Fields!Orders.Value <= 200, "Gold", Fields!Orders.Value <= 1000, "PaleTurquoise", Fields!Orders.Value > 1000, "LightGreen")

如果您在报告预览中观察订单列,会发现有五种不同的背景颜色。

自定义列示例
我将在销售列的右侧创建一个新列,并将其重命名为 Message。接下来,右键单击空白的详细信息单元格,然后从上下文菜单中选择 Expression 选项。有关更多功能 >> 单击此处!
在这里,我们使用 SSRS Switch 语句或 case 根据销售值将自定义信息写入消息列。
=Switch(Fields!Sales.Value <= 10000, "Bad", Fields!Sales.Value <= 25000, "OK", Fields!Sales.Value <= 75000, "Average", Fields!Sales.Value <= 100000, "Breakeven", Fields!Sales.Value <= 400000, "Good", Fields!Sales.Value > 400000, "Profit" )

如果您在报告预览中观察,会看到 Good、Breakeven、OK、Average、Profit 和 Bad 等消息。
