ActiveReports v19 Upgraded Charts Explained
The latest ActiveReports.NET release, v19, included a comprehensive overhaul of our chart control to improve our charts' configurability and flexibility drastically. From an outside perspective, the chart control will appear essentially visually unchanged with only some minor differences noticed, such as replacing the often confusing "encodings" term; but on the inside, the control has been completely rewritten from the ground up, and some very powerful abilities have been unlocked.
Ready to check it out? Download ActiveReports.NET Today!
In this blog, we'll discuss the following topics regarding the updates to ActiveReports.NET's charts:
What About My Existing Charts?
Any existing charts in reports made before v19 will be seamlessly and automatically converted to the new chart model upon loading the report in any of the ActiveReports.NET v19+ designers.
Why?
When the pre-v19 Chart control first replaced our Classic Chart control, it was a huge upgrade that enabled a lot of new functionality; but like all things, it wasn't quite perfect, and how it was implemented started to show some cracks over time.
The previous iteration of the Chart control was based on DV Chart 1.0. Part of the objective of this update was simply to upgrade from DV Chart 1.0 to 2.0. However, more importantly, while doing that, we wanted to apply lessons we've learned from the past few years and completely re-hash our implementation. Reconfiguring our implementation allowed us to overcome some limitations we could not work around otherwise.
Some of the key limitations included:
- Limited Data Manipulation: Users were restricted to basic filtering, and more advanced data operations were impossible.
- Aggregation Limitations: The control could not handle advanced aggregations like CountDistinct or AggregateIf.
- Issues with Chart Rules and Animations: Chart rules didn't function correctly when animations were enabled.
- Performance Concerns: Chart performance was suboptimal compared to what it could be with better implementation and compared to our older, less powerful chart model.
What's New?
With the new Chart control in ActiveReports v19, you'll experience a wealth of improvements, such as:
- Enhanced Data Processing and Flexibility: ActiveReports now processes chart data using its own data engine, giving you greater control over data manipulation, filtering, sorting, and more.
- For example: Using expressions to perform complex manipulations when a filter previously would have been limited to something like "Field X > Field Y."
- Advanced Aggregations: You can now use advanced aggregates, empowering you to derive deeper insights from your data.
- Improved Performance: The new implementation is designed to improve performance, ensuring your reports are generated quickly and efficiently.
- Clearer Naming: We've removed the somewhat confusing term "encoding." For example, "Plot/Category Encodings" have been replaced with "Plot/Category Groups."
In essence, this update means you can now create more sophisticated, data-rich, and high-performance charts with greater ease and confidence.
We're committed to continuously improving ActiveReports to meet your evolving needs. This update to the Chart control is a significant step in that direction, and we believe it will greatly enhance how you visualize data in your reports.
Examples
In this basic example, we'll start with a chart showing the total sales per year by category.
Then, leveraging our newfound ability to use expressions with filters, we'll add a filter to our category group that begins with the sum of all sales for that year and then filters out any with a sum less than $150,000.
This results in a nicely filtered version of the chart, as shown below:
In this next, slightly more complicated example, we will use the count of CustomerIDs for the chart values. Then, our group expression will be a switch statement that creates four groups based on the OrderCount each individual CustomerID has made.
This results in the grouped chart below:
Ready to check it out? Download ActiveReports.NET Today!
Keep in mind that these are fairly basic examples, so the point is easily understood and illustrated. This new functionality unlocks a lot of potential to perform truly complex calculations and groupings in your charts. Basically, as long as you can write an expression for it, it's possible (and, in our opinion, our expression system is quite robust!)
We hope this new functionality is as exciting for you as it is for us, and we look forward to seeing how creatively you all use it!