Question

Every project invariably needs some type of reporting functionality. From a foreach loop in your language of choice to a full blow BI platform.

To get the job done what tools, widgets, platforms has the group used with success, frustration and failure?

Was it helpful?

Solution

For knocking out fairly "run of the mill" reports, SQL Reporting Services is really quite impressive.

For complicated analysis, loading the data (maybe pre-aggregated) into an Excel Pivot table is usually adequate for most users.

I've found you can spend a lot of time (and money) building a comprehensive "ad-hoc" reporting suite and after the first month or two of "wow factor", 99% of the reports generated will be the same report with minor differences in a fixed set of parameters.

Don't accept when a user says they want "ad-hoc" reports without specifying what goals and targets their looking for. They are just fishing and they need to actually spend as much time on THINKING about THEIR reporting requirements as YOU would have to spend BUILDING their solution.

I've spent too much time building the "the system that can report everything" and for it to become out of date or out of favour before it was finished. Much better to get the quick wins out of the way as quick as possible and then spend time "systemising" the most important reports.

OTHER TIPS

For most reports we use BIRT.

I've used Reporting Services and Crystal fairly extensively, and I'm writing a few reports using Excel(ick) at the moment.

Reporting Services is pretty good for simple reports but as soon as you need total control over formatting,complex formulas and charts etc. Crystal is a long way ahead. I also find Crystal to be far more usable; being able to change things within the report preview is invaluable (it may be possible in later versions of RS?).

RS also needs to be deployed to a web server which limits it's usefulness if you are writing applications that need to be deployed externally.

Older versions of Crystal were very buggy but the latest ones are much better, it's much more mature than Reporting Services.

For a lot of projects we use ActiveReports.

I am a committer on the BIRT project, so I am biased. BIRT provides a very well thought out report object model (ROM) and appropriate API for the various design and deploy function that is needed. In addition, BIRT provides the best multi-language support and the ability to separate development from design through the use of CSS.

BIRT can be embedded into your application for no license cost through the REAPI or it can be purchased through a couple of commercial offerings.

Cognos is a robust suite of tools (we use it as a front-end for an Oracle back-end), but there's a pronounced lack of documentation on how to accomplish complex reporting tasks -- mostly, you end up banging on it until you get something to work.

I wouldn't discount the usefulness of using Microsoft Access as a reporting front-end. It doesn't have that useful Web-enabled functionality, but for in-house reports it's very versatile and surprisingly powerful.

We use i-net Clear Reports for our reporting (seeing as how we "eat our own dog food"). ;)

  • It is like Crystal Reports,
  • can read Crystal Reports templates,
  • the API is more useful,
  • costs less than Crystal Reports (and if you factor in support costs, costs less than open source)
  • is platform independent because written in Java.
  • we offer a free and fully functional report designer

If you have all the money in the world, go with Cognos. They provide a data cube that essentially makes the reporting "developer free" and the end user can create reports, dashboards, anything they like.

For the "common man", I've grown quite fond of the ComponentOne reports for .NET library/tools. It has a similar feel to Crystal Reports, but has a very friendly XML format that you and edit under the hood and none of the headaches with versioning, keys, and other items that I've had to deal with when making simple updates to either the report or the underlying version.

I don't really have much SSAS work to do but I've been quite taken with this:

Cube Browser for ASP.net

It offers many of the capabilities of an excel pivot table in a web app, (thought I'm not enough of an expert on Excel to really know the whole of the pivot table's capabilities - it at least looks comparable to visual studio's cube browser).

Unfortunately the demos don't seem to be online anymore :(

I would have to agree, I really like SQL Server Reporting Services. It just does stuff, and does it easily.

Crystal Reports, because it is easy to take the same exact report file and

1 - Post it on the intranet

2 - Embed it in an application

3 - Schedule it to be emailed as an Excel output every so often to whoever needs it

Also (as I already suggested), it exports easily to Excel, PDF, and other formats.

We've been using BIRT which had a steep learning curve for me until I realized how many WYSIWIG features it had (I started editing the xml source code direct, which I don't recommend.) There are some output specific tricks (like using a 0 left margin to not get a blank A column when outputting to XLS format) but for the most part it's quick and easy to use, edit and preview.

I have also been impressed on how easy it is to intermix different datasets in a single report. While not a silver bullet, its a better all around tool than 99.999% of people are going to build on their own.

"Give them data and they will love you for it"

Out of the methods and tools I've used in the past, I would rank them in the following order based on abilities/versatility/usability/speed to deploy. I'm leaving cost out of it because while it is always a factor it is a different factor for everyone.

1 is Cognos (version 8)

2 is SQL Server Reporting

3 is Crystal Reports

4 is Custom written code

I haven't used any of the other tools mentioned. Cognos 8 is nothing short of awesome. While pricey, you are only limited by your imagination. It can do anything.

This isn't so much a positive suggestion, but more of a cautionary tale against crystal reports... As with other people, getting the right version of the crystal runtime is important, but having done that, I still had this problem:

  1. Spent weeks developing reports that had embedded images.
  2. Tested on dev and staging environment, all A-OK.
  3. Deploy to live server - doesn't work... Hmmm...

Spent two weeks trawling forums and looking for advice, eventually got a response from a crystal body on their forums. Suggested that he had seen a similar problem to do with MS Paint being set up as the default application for a certain file extension.

At this point, we gave up trying (after I convinced my boss that this wasn't a take the piss answer, but actually a formal response from Crystal). Handily we were migrating to new servers about a month later (where the reports worked), but honestly, wouldn't touch them again...


Oh, and have used SSRS and found it to be pretty good for most things (particularly the most recent version).

Tableau software is an amazing tool to run your reports and get easily deep throught analysis

For simple reports I use the standard ReportViewer included in Visual Studio.

For more complicated reports and ones that require more performance I've used both Report Sharp Shooter and devExpress XtraReports. Surprisingly, in both products creating tables isn't as easy as it should but both are faster than ReportViewer and handle extremely well multi-column reports, barcodes and aggregate data.

We use Cognos, it's a fairly complex system, but very powerful.

i have a small reporting set, made in 2 months:

at least 10 times faster than crystal reports;

easy editing;

.net formula;

easy usage;

small code usage;

serialization and deserialization(fast and small);

extreme security;

multi threaded;

no errors;

We had used MS Reporting Services, but we was completely unhappy with it. Reasons:

  • it is needed to make difficult configuration of server
  • it is not possible to embed report editor into our app without buying SQL server license for every user
  • it is possible only to use embedded report parameters input form UI or send them from app, but not to create parameters UI by report designer

Now we a using Stimulsoft Reports. It have no such limitations like MS Reporting Services, and we and your users are happy with it.

1) I would think Reporting Services is very good for most of the needs, when in comes to developing table based reports and also matrix reports (drilldown - pivot like functionality).Considering the price of Cognos etc. An SME can't even dream of getting Congns AFAIK

2) Report Scheduling / Subscription functionality can be invoked to send reports to a set of users (data driven) to deliver reports. Subscriptions can be delivered to custom locations such as an SFTP, by writing .Net code.

3) Using Report Models, end user can drag and drop columns and develop customized reports

To Note:

1) It can get trickier once you develop really complex graphical/dashboard kind reports - which involve few charts and small tables to be displayed in A4. Report Designer (the tool we use to design reports) and Web display use different rendering engines. So it is better if you deploy the reports often and see how they look, if you develop complex graphical reports

2) If you write custom functionality, you may have to change the XML configuration files(RSReportServer.Config etc). If there is any problem in the edit, ReportServer service may stop. So be careful to back up before doing anything custom

Cognos with an Oracle backend is what we use. We also use spotfire for visualization on top of cognos.

I'm the CTO at Windward and I do believe that Windward Reports is by far both the easiest to use and you can do more with it than any other reporting - and both traits are for the same reason, you design your reports in Word, Excel, & PowerPoint.

As to the generated reports, it's fast, it's rock solid, and incorporating it into your program can be as little as 3 lines of code.

We use Crystal Reports where I work. It has quite a few limitations, and we find ourselves doing almost all of the logic in Database procedures and Views.

One limitation to note is that Crystal Reports does not allow multiple layered sub-reports. In other words, you cannot have a sub-report inside a sub-report.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top