Recently I have seen a long demo of BonaVista Dimensions. It is a product that is able to create reports and, most important dashboards.

dashboard

You can use it also without SQL Server and Analysis Services, just by importing data in a local cube file that you can model using its own simple to use user interface. But what is interesting to me (in this post) is the capability to connect to a SSAS cube. It is somewhat similar to XLCubed and in reality these two products have something in common, because both uses the MicroCharts visualization component and both have a web edition that is able to render a report created as an Excel worksheet in an HTML page. With a very high fidelity also for Dashboards, both support the Paste Picture Link feature that is very important to this purpose and that is a big miss from Excel Services, like I noted almost one year ago.

If you want to evaluate an alternative to SharePoint + Excel Services to create reports and dashboards with Excel, both products deserve to be evaluated. And I don’t want to do a detailed review – I’m pretty sure each of these product has its pros and cons and my judgment is too technical to be relevant for an end user. I just want to say clear and loud that SharePoint + Excel Services is a platform solution that place the BI as a piece in the overall IT architecture and has a level of integration and scalability that cannot be compared with these solutions. That said, there are many scenarios where SharePoint + Excel Services don’t fit very well for a number of reasons (license cost, hardware required, IT skills involved in maintenance and so on). Moreover, the goal is different. Excel Services is designed to render an Excel workbook on the web; the priority is to render what is needed by existing Excel features. BonaVista (and XLCubed) have a different priority, which is providing support to features that are required to navigate and display data and dashboards. It’s a different approach, and if you want to use Excel as a report designer, you will probably find these third party products much more flexible for this specific purpose (that, I repeat, is not the goal of rendering any existing Excel workbook on the web like Excel Services is supposed to do).

What really impressed me are two features of the of BonaVista Web.

Custom authentication. When you publish your Excel workbook, you have a built-in custom authentication system. You define your own set of users and groups, there is a custom authentication on the web page and that’s it. If you would like to use integrated security, this is not a good thing (I’m told it will be supported in the next version later this year), but I encountered many customers who had exactly this need and didn’t wanted to create their own ASP.NET application just to do that (maybe integrating some third-party component). Maybe it’s a niche market, but I’m sure it exists.

Use of BonaVista Web as a report engine in a custom website/application. It might seem a strange statement, but let me explain. Imagine you have an existing LOB application with a section for reporting. I’ve seen so many applications like that. So many. Intranet/extranet applications is the higher number. They usually have a custom authentication system, they can control parameter reports, they have their own user interface to make selection of parameters for a report but, when it comes to rendering the report, they usually choose to:

  • Use Reporting Services. It’s cheap, it can be used as a service, it is excellent for many types of reports but it is not so nice trying to create complex graphical representation with it. I can say this by direct experience, and I used Reporting Services since its first beta in version 2000.
  • Use third-party components. There are several alternatives here, but usually this means encapsulating specific components (KPI, charts and so on) in a single ASP.NET web page. You have to worry about data connections, data caching and many other details, not to mention that designing the page itself requires the help of a web designer or at least some knowledge about HTML.
  • Generate Excel files. Yes, you don’t see data in HTML and you need an Excel client to open the file, but it just works. The weakness of this model is usually the scalability because this is usually done by instantiating an Excel instance on a server, using Excel Object Model to generate the desired result. It just works, but is not so funny (and fast) to work in this way.

For so many years I dreamed a day when I would have been able to design my own Excel worksheet and simply publishing it as a dynamic web page by using Reporting Services. Passing parameters and having control of the report just in the way I’m used to with Reporting Services. Some days ago I’ve seen part of this dream coming true. You can call a page writing data in named cells through URL. If you don’t expose its web server directly to end users and you have your own web application, you can see this as a service you consume to generate the page you present on the web. You can pass parameters to your report in this way and I asked to implement a CustomData passthrough option in connection string so that I would be able to implement custom security in a SSAS cube using parameters passed from my application. If I just need a few reports built in this way, today SharePoint + Excel Services is not an option unless it is already part of the infrastructure and you don’t have issue with CALs (imagine you want to publish the dashboard to external users of your application). I always used Reporting Services to do that, but each report had a very high cost of development. Now I see an affordable option for this scenario that I encountered so many times.

But wait, what about the price?

This is the good news. BonaVista Dimension has a very aggressive price also for web edition. You pay per concurrent users and you can start with just one user. It is just 599 USD/EUR (they have a 1:1 exchange ratio that doesn’t favor European countries). I think that this entry price is a game changer for developers who want to consider it just a reporting engine. Maybe not as a replacement of Reporting Services, but as a complement to it.

I know XLCubed also has similar features, but the entry price for the web edition is higher and not suitable for the type of usage I just described. I hope to see better reports and dashboards integrated in custom applications from now on!