This SSRS article shows how to use the IIF condition or expression to change the background colors or create a new column based on the existing one with custom messages.
Right-Click on the Datasets folder to create a new DataSet. The below screenshot shows the data set that we use for this SSRS IIF condition example.
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
We have designed a simple table report of Product sales and formatted the font and colors.
Let me show you the report preview.
SSRS IIF condition Example
In this example, we will change the background color of the orders column based on the IIF condition or expression. So, select the Orders column, go to the properties to change the background color, and click the Expression hyperlink.
The below IIF statement will assign Light Green to orders above 400, and for the remaining rows, it will assign an Orange color.
=IIf(Fields!Orders.Value > 400, "LightGreen","Orange")
- Guide to Hide Table Nulls and Replace Table Nulls articles that can show real-time examples of IIFexpression.
If you observe the report review, there are two different background colors for the order column.
SSRS Nested IIF Statement
Let me create a new column on the right side of the Tax and rename it as Message. Next, right-click the empty space and choose the Expression option.
Here, we used the Nested IIF condition to display a message based on product sales.
- For above 100000, it’s Good.
- For above 50000, it’s Average.
- And for all the remaining rows, Bad.
=IIf(Fields!Sales.Value > 100000, "Good", IIf(Fields!Sales.Value > 50000, "Average", "Bad"))
You can see the Expression in the final report design.
If you observe the SSRS IIF condition report review, there are Good, Average, and Bad messages.