As I mentioned previously, SSRS 2008 allows us to use some nice visualisation techniques in our reports. WinLoss graphs are used to show (wait for it……) the trend of wins and losses over time. The usual example is the performance of a sports team during a season, but they are also useful for showing trends over time such as the performance of a KPI. Here’s another quick how-to on building this type of chart in SSRS 2008.
So first we need a dataset with three fields: Series, Time and Value. The first two are fairly self-explanatory, for the third you need to transform your value so it appears as either a 1, -1 or 0 (win, lose, no result/tie). The AdventureWorks built-in cube KPI’s work well here so I’m going to shortcut slightly and use these. If you’re going to use a relational source you may need to do something a little cleverer. For example:
SELECT [Month] ,[Country] ,CASE WHEN [SalesAmount] > 10000 THEN 1 WHEN [SalesAmount] < 10000 THEN -1 WHEN [SalesAmount] IS NULL THEN 0 END AS Winlose FROM [AdventureWorksDW].[dbo].[FactInternetSales]
We’ll be using AdventureWorks (SSAS) “Internet Revenue” KPI. Don’t forget that when using an AS data source in SSRS you basically have to trick it into thinking it’s relational and make sure you have your measures on Columns (as Chris Webb discusses here). Here’s our very simple MDX statement:
SELECT KPITrend("Internet Revenue") ON COLUMNS, [Date].[Calendar].[Month].members * [Customer].[Customer Geography].[Country].members ON ROWS FROM [Adventure Works]
Now lets add a chart – pick the standard column chart and format as follows:
- Right click and delete the chart title and legend;
- Right click on both the axis titles uncheck Show Axis Title;
- Right click on the Y (vertical) axis and select Axis Properties. Under Axis Options set Minimum to -1, Maximum to 1 and Cross At property to 0 (this makes sure our baseline runs between the “wins” and “losses”). Click OK;
- Right click again on the Y axis and uncheck Show Axis;
- Right click on the X axis and select Axis Properties. Under Labels check Hide Axis Labels and do the same for Major and Minor Tick Marks. Under Line set the width to 0.5 and the colour to light grey or similar. Click OK.
You should now have something like this:
Now lets add some data:
-
- Drag your Time field from the Report Data pane into the category area;
- Drag your Value field into the Data Field area;
- Right click on your series and select Series Properties. Under Fill set the colour suitably. In our example we’re going to show wins as black and losses as red using a switch statement in an expression:
=Switch ( Fields!Internet_Revenue_Trend.Value = 1, "Black", Fields!Internet_Revenue_Trend.Value = -1, "Red" )
If you preview the chart now it should look something like this:
To finish off we need to add the chart inline to a table:
- Add a table and delete the third column;
- Set the DataSetName property to the same as your chart;
- Right click on the second row and add a group (using the adjacent above option). Select your Series value (in our case: Country) from the drop down;
- Delete the bottom row;
- Drag your Series field into the First column, second cell;
- Drag your chart into the second column, second cell.
Finally add a bit of formatting to your table and you’re done!
This also works in SSRS 2005 – though doesn’t render quite a cleanly.
Pareto Charts in Power BI and the DAX behind them
The Pareto principle, commonly referred to as the 80/20 rule, is a concept of prioritisation.
Apr
Databricks: Cluster Configuration
Databricks, a cloud-based platform for data engineering, offers several tools that can be used to
Apr
AI Assistance in Microsoft Fabric
The exponential growth of Large Language Models (LLMs) couples with Microsoft’s close partnership with OpenAI
Apr
10 reasons why it’s worth the effort to understand the value of your data
“If leaders really want to create a data driven culture, the journey starts with them!
Apr
Content Safety in Azure AI Studio
Azure AI Content Safety is a solution designed to identify harmful content, whether generated by
Apr
Model Benchmarks in Azure AI Studio
In the constantly changing field of artificial intelligence (AI) and machine learning (ML), choosing the
Apr
Celebrating International Women’s Day: from Classroom to Code
As we celebrate International Women’s Day, I want to share my journey of breaking stereotypes
Mar
Pretty Power BI – Adding Pagination to Bar Charts
Good User Experience (UX) design is crucial in enabling stakeholders to maximise the insights that
Feb